• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

36 PHP面向对象

php 搞代码 3年前 (2022-01-23) 17次浏览 已收录 0个评论

1. __set() 和 __get() 方法

<code><span><span>class</span><span>A</span><strong style="color:transparent">¥本文来源gaodai#ma#com搞@@代~&码网^</strong><small>搞gaodaima代码</small>    {</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>

对象” title=””>


1. 抽象
对象” title=””>

2. 封装
对象” title=””>
对象” title=””>
对象” title=””>
对象” title=””>


3.多态
对象” title=””>
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>

重写(覆盖):名称与参数个数必须一样
对象” title=””>
对象” title=””>


5. 抽象类
对象” title=””>

以上就介绍了36 PHP面向对象,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:36 PHP面向对象

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址