PHPのような機能

WBOY
リリース: 2016-07-29 09:01:31
オリジナル
1006 人が閲覧しました

オブジェクトの下方受け渡し機能

オブジェクトがインスタンスメソッドを呼び出し、そのメソッド内で別のクラスのメソッドを静的に呼び出すと、ソースメソッド内のオブジェクト(this)

<code><span><span><?php </span><span><span>class</span><span>bee</span>{</span><span>public</span><span>$a</span> = <span>1</span>;
    <span>public</span><span><span>function</span><span>f</span><span>()</span>{</span><span>echo</span><span>$this</span>->a;
        <span>echo</span><span>'<br>'</span>;
        @lig::f();
    }
}

<span><span>class</span><span>lig</span>{</span><span>public</span><span>$a</span> = <span>2</span>;
    <span>public</span><span><span>function</span><span>f</span><span>()</span>{</span><span>echo</span><span>$this</span>->a;
    }
}

<span>$obj</span> = <span>new</span> bee();
<span>$obj</span>->f();</span></span></code>
ログイン後にコピー

PHPのような機能

static late static binding

staticには3つの異なる構文の意味があります

  • 関数内の静的変数
<code><span><span>function</span><span>f</span><span>()</span>{</span><span>static</span><span>$v</span> = <span>1</span>;
}</code>
ログイン後にコピー
  • クラス内の静的メンバー
<code><span><span>class</span><span>bee</span>{</span><span>static</span><span>$v</span> = <span>1</span>;
    <span>static</span><span><span>function</span><span>f</span><span>()</span>{</span>}
}</code>
ログイン後にコピー
  • メソッド内の静的表現とは異なる「現在のクラス」を動的に指定します。このメソッドを呼び出すクラス (動的)、self はそのコードが配置されているクラスを参照します (静的)
<code><span><span>class</span><span>bee</span>{</span><span>static</span><span>public</span><span>$a</span> = <span>10</span>;
    <span>static</span><span>public</span><span><span>function</span><span>f</span><span>()</span>{</span><span>echo</span> get_class().<span>':'</span>;
        <span>echo</span><span>self</span>::<span>$a</span>.<span>'-'</span>;
        <span>echo</span><span>static</span>::<span>$a</span>;
    }
}
<span><span>class</span><span>lig</span><span>extends</span><span>bee</span>{</span><span>static</span><span>public</span><span>$a</span> = <span>20</span>;

}

<span>echo</span> bee::f();
<span>echo</span><span>'<br>'</span>;
<span>echo</span> lig::f();</code>
ログイン後にコピー

PHPのような機能

オブジェクト指向の 3 つの主要なアイデア

  • パッケージ
    データをカプセル化して他人に見せないようにすることです。最も基本的なカプセル化は、多くのデータをクラス内にカプセル化することであると考えられますが、より厳密に言うと、属性をできるだけプライベートにすることです。共有メソッドを通じて外部に操作を提供することも可能です。
  • 継承
  • ポリモーフィズム
    通常、同じメソッドを使用して異なる結果を取得するオブジェクトを指します
    また、異なるオブジェクトが同じメソッドを使用して異なる結果を取得することも意味します
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上、PHP の特徴を含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!