36 PHP面向對象

WBOY
發布: 2016-07-29 09:15:22
原創
1034 人瀏覽過

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>
登入後複製

36 PHP面向<strong>物件</strong>


1. 抽象
36 PHP面向<strong>物件</strong>1. 抽象

物件
" title="">5 " title="">36 PHP面向<strong></strong>物件<br>36 PHP面向<strong></strong>物件<br>36 PHP面向<strong></strong>物件<br>36 PHP面向<strong></strong></p>3.多型<hr>


36 PHP面向<strong>3.多型</strong>
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>
登入後複製

重寫(覆蓋):名稱與參數個數必須相同
36 PHP面向<strong>物件</strong>
36 PHP面向<strong>物件</strong>


5. 抽象類別
" title="">36 PHP面向<strong></strong></p>5. 抽象類別</p><p>

以上就介紹了36 PHP面向對象,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。 🎜 🎜 🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板