您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

php面向对象各种概念和用法实例代码详解

2024/4/25 5:39:44发布4次查看
这篇文章主要介绍了php面向对象程序设计方法,结合实例形式详细分析了php面向对象程序设计中所涉及的类的概念、定义、构造函数、析构函数、继承、重载、接口、抽象类等概念与使用技巧,需要的朋友可以参考下
本文实例分析了php面向对象程序设计方法。分享给大家供大家参考,具体如下:
php5开始支持面向对象,示例如下:
<?php class classname{ var $attr1; var $attr2; public $attribute; const pi = 3.14; // 构造函数 function construct($param = 'default'){ echo "constructor called with parameter $param<br />"; } // 析构函数 function destruct(){ echo '<br />destruct'; } // function oper1(){ echo 'oper1<br />'; } function oper2($param){ $this->attr1 = $param; echo $this->attr1; } protected function oper3(){ echo 'this is protected function<br />'; } // 禁止继承 final function oper5(){ } function get($name){ return $this->$name; } function set($name, $value){ $this->$name = $value; } // 静态方法 static function double($param){ return $param * $param; } } $a = new classname('first'); $b = new classname('second'); $c = new classname(); $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 />'; class b extends classname{ function oper4(){ $this->oper3(); // protected方法只能在 } function oper1(){ // 重载 echo 'this is class b /'s oper1. <br />'; } } $d = new b("forth"); $d->oper1(); $d->oper4(); // 接口 interface displayable { function display(); function show(); } class c implements displayable { function display(){ echo '这是对应接口的方法.<br />'; } function show(){} } $e = new c(); $e->display(); echo '检查$e是否为c的实例:'; echo ($e instanceof c) ? 'yes':'no'; // 克隆对象 $f = clone $e; echo '<br /><br />可以使用clone()方法,在使用clone关键字时调用'; // 抽象类 abstract class e{} // $f = new e(); // 这行将报错,不能实例化抽象类 // 参数重载,多态 class f{ public $a = 1; public $b = 2; public $c = 3; function displaystring($elem){ echo '<br />string:'.$elem; } function displayint($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 = new f(); $g->display('abc'); // 迭代器,读出实例的所有属性 foreach ($g as $att){ echo '<br />'.$att; } // 反射 echo '<br />'; $class = new reflectionclass('f'); echo '<pre>'; echo $class; echo '</pre>'; ?>
以上就是php面向对象各种概念和用法实例代码详解的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录