PHPによるオブジェクト指向プログラミング:大規模PHPプロジェクトの開発方法(1)_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:22:31
オリジナル
982 人が閲覧しました

limodou
この記事では、PHP におけるオブジェクト指向プログラミング (OOP、オブジェクト指向プログラミング) を紹介します。 OOP の概念と PHP のトリックを使用してコーディングを減らし、品質を向上させる方法を説明します。幸運を!
オブジェクト指向プログラミングの概念:
作成者によって意見が異なる可能性がありますが、OOP 言語には次の側面が必要です:
抽象データ型と情報のカプセル化
継承
ポリモーフィズム
PHP では、カプセル化は以下のクラスを通じて完了します:
-------------------------------------------------- ---------------------------------- class Something { // OOP クラスでは、通常、 1 文字は大文字です
var $x;
function setX($v) {
// メソッドは小文字で始まり、getValueOfArea() のように単語を区切ります
$this->x=$v; }
function getX() {
return $this->x
}
}
?>---------------------------- --- --------------------------------------------------- --- --
もちろん、自分の好みに応じて定義することもできますが、標準を維持することがより効果的です。
データ メンバーは、値が割り当てられる前は、「var」宣言を使用してクラス内で定義されます。データ メンバーは、整数、配列、連想配列、またはオブジェクトです。
メソッドはクラス内の関数として定義されます。メソッド内のクラス メンバー変数にアクセスする場合は、$this->name を使用する必要があります。それ以外の場合、メソッドにはローカル変数のみを使用できます。
new 演算子を使用してオブジェクトを作成します:
$obj=new Something;



その後、次のようにメンバー関数を使用できます: $see=$obj-> getX(); この例では、setX メンバー関数はオブジェクトのメンバー変数 x (クラスではない) に 5 を代入し、getX はその値 5 を返します。
$obj->setX(5);
$obj->x=6 のようなクラス参照を通じてデータ メンバーにアクセスできます。これは OOP の良い習慣ではありません。
メソッドを通じてメンバー変数にアクセスすることを強くお勧めします。メンバー変数を操作不可能なものとして扱い、オブジェクト ハンドルを通じてのみメソッドを使用する場合、
優れた OOP プログラマーになれるでしょう。残念ながら、PHP はプライベート メンバー変数の宣言をサポートしていないため、PHP では不正なコードが許可されています。
継承は PHP で簡単に実装でき、extend キーワードを使用するだけです。
----------------------------------------------- - -----------------------------
class Another extends 何か {
var $y
function setY; ( $v) {
$this->y=$v;
} 関数 getY() {
return $this->y }
}
?>----------- -------------------------------------------------- - ------------------
次のページ




http://www.bkjia.com/PHPjc/532305.html

www.bkjia.com

tru​​e

技術記事 limodou この記事では、PHP におけるオブジェクト指向プログラミング (OOP、オブジェクト指向プログラミング) を紹介します。 OOP の概念と PHP のトリックを使用してコーディングを減らす方法を説明します...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート