目次:
ビデオ: オブジェクト指向が理解できない理由 2024
PHPのオブジェクト指向プログラミングは、大規模プロジェクトで非常に便利なもう1つの機能を備えています。多くのオブジェクトはお互いに関連しており、ファミリツリー関係を使用してプログラミングを簡単にすることができます。
別の生き物に基づいて生き物を作る方法
町に新しい生き物があります。これは基本的な機能は同じですが、悪い姿勢です。コードを見て、何が起こっているのか見てみましょう:
<! - 1 - >は継承します。 ";} // end glower //既存のメソッドを上書きすると、動作はpublic function talk(){return"あなたのビジネスには何も返されません ";} // end talk } "; これは、$ a-> glower()。""; print $ a-> talk()例では、非常に一般的なプログラミングの状況を示しています。ここでは、以前に定義されたクラスの特殊化が必要ですが、すでにCritterクラスがありますが、新しい種類のCritterが必要です。
継承 のオブジェクト指向のアイデアは、この状況を処理するための完全な方法です。継承よりも プロトタイプ
というアイデアに基づいて、オブジェクト指向プログラミングのさまざまな形式をサポートしています。どの技法が長くて退屈な会話をしていますが、最終的にはmu ch。ほとんどのOOP言語はPHPで使用されている継承の形式をサポートしています。風を受け継ぐ方法(と何か他のもの) <! - 3 - > 継承を実装する方法は次のとおりです。
既存のクラスから始めます。
この例では、require_once()関数を使用してインポートする通常のCritterクラスから始めます。extendsキーワードを使用して新しいクラスを作成します。
-
クラスを定義するときに、継承するクラスを示すためにextendsキーワードを使用すると、新しいクラスは親クラスのすべてのプロパティとメソッドで始まります。
親のpublic要素とprotected要素はアクセスできますが、private要素はアクセスできません。
-
プロパティまたはメソッドが元のクラスでプライベートとして定義されていた場合、それは他の誰のビジネスでもありません。その要素にアクセスできるコードフラグメントは他にありません。ただし、クラスを継承する場合、新しい子クラスは親クラスの要素にアクセスする必要があります。そのため、プライベートではなく
protected
-
としてプロパティを作成する必要があります。
新しいプロパティとメソッドを追加します。 親クラスが持っていなかった追加のプロパティとメソッドを使用して、新しいクラスを拡張することができます。 BitterCritterには、通常のクリッターにはないglower()メソッドが追加されました。 親の動作を上書きすることもできます。
-
親クラスが持つメソッドを再定義すると、新しいクラスの動作が変更されます。これにより、既存のビヘイビア(
polymorphism
-
というオブジェクト指向のアイデアの一形態)を変更することができます。
このデモンストレーションは、オブジェクト指向プログラミングを垣間見るに過ぎません。このような形のソフトウェア開発にははるかに多くの部分がありますが、基本はすべてここにあります。独自のオブジェクトを最初から構築する必要性をすぐには理解できないかもしれませんが、データプログラミングやコンテンツ管理システムなどのより複雑なアイデアを検討する際には、オブジェクト指向のPHPコードに遭遇します。