PHP面向对象程序设计方法实例详解
本文实例分析了PHP面向对象程序设计方法。分享给大家供大家参考,具体如下:
PHP5开始支持面向对象,示例如下:
<?php classclassname{ var$attr1; var$attr2; public$attribute; constPI=3.14; //构造函数 function__construct($param='default'){ echo"Constructorcalledwithparameter$param<br/>"; } //析构函数 function__destruct(){ echo'<br/>destruct'; } // functionoper1(){ echo'oper1<br/>'; } functionoper2($param){ $this->attr1=$param; echo$this->attr1; } protectedfunctionoper3(){ echo'thisisprotectedfunction<br/>'; } //禁止继承 finalfunctionoper5(){ } function__get($name){ return$this->$name; } function__set($name,$value){ $this->$name=$value; } //静态方法 staticfunctiondouble($param){ return$param*$param; } } $a=newclassname('First'); $b=newclassname('Second'); $c=newclassname(); $c->oper2("hello"); echo'<br/>'; echo$c->attr1; echo'<br/><br/>'; echo'Per-Class常量classname::PI-'.classname::PI; echo'<br/>静态方法:classname::double(3)-'.classname::double(3); echo'<br/>'; //实现继承 echo'实现继承<br/>'; classBextendsclassname{ functionoper4(){ $this->oper3();//protected方法只能在 } functionoper1(){//重载 echo'thisisclassB/'soper1.<br/>'; } } $d=newB("forth"); $d->oper1(); $d->oper4(); //接口 interfaceDisplayable { functiondisplay(); functionshow(); } classCimplementsDisplayable { functiondisplay(){ echo'这是对应接口的方法.<br/>'; } functionshow(){} } $e=newC(); $e->display(); echo'检查$e是否为C的实例:'; echo($einstanceofC)?'Yes':'No'; //克隆对象 $f=clone$e; echo'<br/><br/>可以使用__clone()方法,在使用clone关键字时调用'; //抽象类 abstractclassE{} //$f=newE();//这行将报错,不能实例化抽象类 //参数重载,多态 classF{ public$a=1; public$b=2; public$c=3; functiondisplayString($elem){ echo'<br/>string:'.$elem; } functiondisplayInt($elem){ echo'<br/>int:'.$elem; } //注意参数$p,是作为数组传入,必须使用下标访问 function__call($method,$p){ if($method=='display'){ if(is_string($p[0])){ $this->displayString($p[0]); }else{ $this->displayInt($p[0]); } } } } $g=newF(); $g->display('abc'); //迭代器,读出实例的所有属性 foreach($gas$att){ echo'<br/>'.$att; } //反射 echo'<br/>'; $class=newReflectionClass('F'); echo'<pre>'; echo$class; echo'</pre>'; ?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。