PHP_PHP チュートリアルでオブジェクト指向プログラミングを使用して大規模な PHP プロジェクトを開発する方法 2

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

著者: Luis Argerich 翻訳者: limodou
「Another」クラスのオブジェクトには、親クラス (Something) のすべてのデータ メンバーとメソッドが含まれており、独自のデータ メンバーとメソッドも追加されています。
を使用できます
$obj2=new Something;
$obj2->setY(7);
PHP は多重継承をサポートしていません。 2 つ以上のクラスが新しいクラスを派生します。
派生クラスでメソッドを再定義できます。「Another」クラスで getX メソッドを再定義すると、
「Something」で getX メソッドを使用できなくなります。派生クラスで基本クラスと同じ名前のデータ メンバーを宣言した場合、それを処理するときに
基本クラスのデータ メンバーが「隠蔽」されます。
クラス内にコンストラクターを定義できます。コンストラクターはクラス名と同じ名前のメソッドで、クラスのオブジェクトを作成するときに呼び出されます。例:
-------------------- --- --------------------------------------------------- --- --------
class Something {
var $x;
function Something($y) { $this->x=$y
}
function setX($v ) {
$this->x=$v;
}
function getX() {
return $this->x }
}
?>-------------- --- --------------------------------------------------- --- ------------
つまり、次のようにオブジェクトを作成できます:
$obj=new Something(6);



function Something($x="3",$y="5") 次に:
コンストラクターは自動的にデータに 6 を割り当てます。変数x。コンストラクターとメソッドは通常の PHP 関数であるため、デフォルトのパラメーターを使用できます。
$obj=new Something() // x=3 および y=5
$obj=new Something( 8); / / x=8 および y=5
$obj=new Something(8,9) // x=8 および y=9
デフォルトのパラメータは C++ を使用するため、値を無視することはできませんY を指定し、X にデフォルトのパラメータを指定すると、パラメータは左から右に割り当てられます。渡されたパラメータが必要なパラメータよりも小さい場合は、デフォルトのパラメータが使用されます。
派生クラスのオブジェクトが作成されるとき、そのコンストラクターのみが呼び出され、親クラスのコンストラクターは呼び出されません。基本クラスのコンストラクターを呼び出したい場合は、そのコンストラクターの中で明示的に呼び出す必要があります。派生クラス。これが可能なのは、すべての親クラスのメソッドが派生クラスで使用できるためです。
----------------------------------------------- - -----------------------------
function Another() {
$this->y=5 ;
$this->Something();
//基本クラスのコンストラクターの呼び出しを表示します }
?>-------------------------- - ------------------------------------------------- - --
OOP の優れたメカニズムは、抽象クラスを使用することです。抽象クラスはインスタンス化できず、派生クラスへのインターフェイスのみを提供できます。設計者は多くの場合、抽象クラスを使用してプログラマに基本クラスからの派生を強制し、新しいクラスに必要な機能が確実に含まれるようにします。 PHP には標準メソッドはありませんが、:
この機能が必要な場合は、基本クラスを定義し、そのコンストラクターの後に「die」呼び出しを追加して、基本クラスがインスタンス化できないようにすることができます。ステートメントは各メソッド (インターフェイス) の後にあるため、プログラマが派生クラスのメソッドをオーバーライドしないと、エラーが発生します。また、PHP は型指定されていないため、オブジェクトが基底クラスからの派生クラスであることを確認し、クラスの ID を定義する (ある種の識別 ID を返す) メソッドを基底クラスに追加する必要がある場合があります。オブジェクトパラメータを受け取るときにこの値を確認してください。もちろん、邪悪なプログラマーが派生クラスでこのメソッドをオーバーライドした場合、このメソッドは機能しませんが、一般に問題は邪悪なプログラマーではなく怠惰なプログラマーに見られます。
もちろん、基本クラスをプログラマに見えないようにして、インターフェイスを出力するだけで仕事を実行できるのは素晴らしいことです。
PHP にはデストラクターがありません。




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

www.bkjia.com

http://www.bkjia.com/PHPjc/531818.html技術記事著者: Luis Argerich 翻訳者: limodou Another クラスのオブジェクトには、親クラス (Something) のすべてのデータ メンバーとメソッドが含まれており、独自のデータ メンバーとメソッドも追加されています。 あなたは...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!