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程序设计有所帮助。