1. __set() 和 __get() 方法
<code><span><span>class</span><span>A</span>
{</span><span>private</span><span>$n1</span>;
<span>private</span><span>$n2</span>;
<span>private</span><span>$n3</span>;
<span>//使用__set()方法来管理所有的属性</span><span>public</span><span><span>function</span><span>__set</span><span>(<span>$pro_name</span>,<span>$pro_val</span>)</span>
{</span><span>$this</span>->pro_name = <span>$pro_val</span>;
}
<span>//使用__get()方法获取所有属性的值</span><span>public</span><span><span>function</span><span>__get</span><span>(<span>$pro_name</span>)</span>
{</span><span>if</span>(<span>isset</span>(<span>$pro_name</span>)){
<span>return</span><span>$this</span>->pro_name;
}<span>else</span>{
<span>return</span><span>null</span>;
}
}
}
<span>$a1</span> = <span>new</span> A();
<span>$a1</span>->n1 = <span>"aaa"</span>;
<span>echo</span><span>$a1</span>->n1;</code>
1. 抽象
2. 封装



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

立即学习“PHP免费学习笔记(深入)”;
5. 抽象类
以上就介绍了36 PHP面向对象,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号