36 PHP面向对象
程序员文章站
2022-05-01 15:31:24
...
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);
也可以判断类型。
重写(覆盖):名称与参数个数必须一样
5. 抽象类
以上就介绍了36 PHP面向对象,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。