ホームページ >バックエンド開発 >PHPチュートリアル >PHP 学習メモ: オブジェクト指向設計_PHP チュートリアル
オブジェクト指向設計は、PHP プログラム開発において非常に重要なコンテンツブロックです。上級 PHP プログラマーになりたい場合は、オブジェクト指向設計の具体的な使用法と書き方を理解する必要があります。
メンテナンスが簡単 モジュール性はオブジェクト指向プログラミングの特徴です。エンティティはクラスとして表され、同じ名前空間内の同じ機能を持つクラスとして表されるため、名前空間の他のメンバーに影響を与えることなく名前空間にクラスを追加できます。
拡張性 オブジェクト指向プログラミングは本質的に拡張性をサポートします。特定の機能を備えたクラスがある場合、そのクラスを簡単に拡張して、拡張機能を備えたクラスを作成できます。
コードの再利用 関数はクラスにカプセル化され、クラスは独立した実体として存在するため、クラスライブラリを提供するのは非常に簡単です。
複数人で協力してプロジェクトを開発する方が適しているため、多くの大規模および中規模のWebサイトが開発にOOPを使用することを選択するようになりました。
この記事では、PHPを使ったオブジェクト指向プログラミングの最も基本的な方法やコード例、クラスの作成方法やクラスのインスタンスの生成方法などを中心に解説しています。あくまで入門編であり、非常に簡単です。これを徹底的に学びましょう。 php 初心者のみに適しています
パブリックとはグローバルを意味し、クラスの内部サブクラスと外部サブクラスの両方からアクセスできます。
コードをコピー | |||||||||||||||||||||||||||||
コードは次のとおりです | コードをコピー |
|
Protected は保護されていることを意味し、このクラス、サブクラス、または親クラスでのみアクセスできます。
- データの抽象化と情報の隠蔽
-相続
- ポリモーフィズム
PHP でクラスをカプセル化に使用する方法:
コードは次のとおりです | コードをコピー | ||||||||||||||||||||||||||||
クラス何か { 関数 setX($v) { 関数 getX() {
|
コードは次のとおりです | コードをコピー |
$obj = 新しい何か; |
次にメンバー関数を使います
コードは次のとおりです | コードをコピー |
$obj->setX(5);
$see = $obj->getX(); |
オブジェクト参照を使用してメンバー変数にアクセスすることもできます。例: $obj->x=6; ただし、これは適切なオブジェクト指向プログラミング方法ではありません。メンバー変数の値を設定するにはメンバー関数を使用し、メンバー変数を読み取るにはメンバー関数を使用することを強くお勧めします。メンバー関数を使用する以外はメンバー変数にアクセスできないと信じているなら、あなたは優れたオブジェクト指向プログラマーになれるでしょう。 しかし残念ながら、PHP 自体には変数をプライベートとして宣言する方法がないため、不正なコードが存在することが許されています。
PHPにおける継承はextendを使って宣言します。
コードをコピー | |||||||||||||||||||||||||||||
class Another は何かを拡張します {
変数 $y;
関数 setY($v) {
}
|
コードは次のとおりです | コードをコピー |
$obj2=新しい |
継承されたクラスでは、メソッドを再定義するために再定義できます。「Another」で getX を再定義すると、同様に、メンバー変数の名前が同じである場合は、「Something」のメンバー関数 getX にアクセスできなくなります。親クラスの場合、継承されたクラス変数は同じ名前の親クラス変数を非表示にします。
クラスのコンストラクターを定義できます。コンストラクターはクラスと同じ名前のメンバー関数で、クラスのオブジェクトを作成するときに呼び出されます。
コードをコピー | |
クラス何か {
var $x;
$this->x=$y
$this->x=$v
$this->x を返します。
}
|
コードをコピー | |
|
コードは次のとおりです | コードをコピー |
関数何か($x="3",$y="5") |
それでは、
コードは次のとおりです | コードをコピー |
$obj=new Something(); // x=3 および y=5 |
デフォルトパラメータの定義方法はC++と同じなので、Yに値を渡すことはできませんが、Xにはデフォルト値をとらせます。実パラメータがなくなったら、関数は左から右に渡します。デフォルトのパラメータを使用します。
継承クラスのコンストラクタが呼び出されたときのみ、継承クラスのオブジェクトが作成され、親クラスのコンストラクタは呼び出されないのがPHPの特徴です。コンストラクター呼び出しチェーンはオブジェクト指向プログラミングの特徴です。基本クラスのコンストラクターを呼び出したい場合は、継承クラスのコンストラクターで明示的に呼び出す必要があります。これが機能するのは、親クラスのすべてのメソッドが継承されたクラスで使用できるためです。
コードは次のとおりです | コードをコピー |
関数 Another() { |
コードは次のとおりです | コードをコピー |
関数 niceDrawing($x) {
|
__set(): privateメンバーのプロパティ値を直接設定する際に自動的に呼び出されるメソッドです
__get():プライベートメンバーのプロパティ値を直接取得する際に自動的に呼び出されるメソッドです
__isset(); このメソッドは、issetがオブジェクト内のプライベートプロパティが存在するかどうかを直接チェックするときに自動的に呼び出されます
__unset(); は、オブジェクト内のプライベートプロパティを直接削除するときに自動的に呼び出されるメソッドです http://www.bkjia.com/PHPjc/372033.html