1. __set() 和 __get() 方法
classA {private$n1; private$n2; private$n3; //使用__set()方法来管理所有的属性publicfunction__set($pro_name,$pro_val) {$this->pro_name = $pro_val; } //使用__get()方法获取所有属性的值publicfunction__get($pro_name) {if(isset($pro_name)){ return$this->pro_name; }else{ returnnull; } } } $a1 = new A(); $a1->n1 = "aaa"; echo$a1->n1;

1. 抽象
2. 封装



3.多态
PHP不支持函数多态。
classA {publicfunctiontest1($a,$b) {echo'接受一个参数'; } publicfunctiontest2($a) {echo'接受两个参数'; } // 这里提供一个__call;// 当一个对象调用某个方法,而该方法不存在,则系统自动调用__callfunction__call($method,$p) { var_dump($p); if($method == "test"){ if(count($p1)==1){ $this->test1($p); }elseif(count($p)==2){ $this->test2($p) } } } } $a = new A(); echo$a->test(1); 也可以判断类型。
重写(覆盖):名称与参数个数必须一样 

立即学习“PHP免费学习笔记(深入)”;
5. 抽象类
以上就介绍了36 PHP面向对象,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。










