この記事では、オブジェクト指向 PHP の 3 つの基本機能と 5 つの基本原則について説明します。必要な方は、この記事の内容を参照してください。
カプセル化とは、客観的なものを抽象クラスにカプセル化することを意味し、クラスは信頼できるクラスまたはオブジェクトにのみデータとメソッドの操作を許可し、信頼できないクラスまたはオブジェクトからは情報を隠すことができます。
カプセル化はオブジェクト指向の特徴の 1 つであり、オブジェクトとクラスの概念の主な機能です。 簡単に言うと、クラスはデータと、これらのデータを操作するコードをカプセル化する論理エンティティです。オブジェクト内では、一部のコードまたは一部のデータはプライベートにすることができ、外部からアクセスすることはできません。このように、オブジェクトは内部データにさまざまなレベルの保護を提供し、プログラムの無関係な部分が誤って変更されたり、オブジェクトのプライベート部分が誤って使用されたりすることを防ぎます。 いわゆる継承 は、特定の型のオブジェクトが別の型のオブジェクトのプロパティを取得できるようにするメソッドを指し、階層分類の概念をサポートします。
継承とは、元のクラスを書き直すことなく、既存のクラスのすべての機能を使用し、これらの機能を拡張する機能を指します。 継承によって作成された新しいクラスを「サブクラス」または「派生クラス」と呼び、継承されたクラスを「基本クラス」、「親クラス」、または「スーパークラス」と呼びます。相続のプロセスは、一般から特殊へのプロセスです。継承を実現するには「継承」と「合成」によって実現できます。継承の概念を実装するには、実装の継承とインターフェイスの継承の 2 種類の方法があります。実装の継承は、追加のコーディングなしで基本クラスのプロパティとメソッドを直接使用できる機能を指します。インターフェイスの継承は、プロパティとメソッドの名前のみを使用できる機能を指しますが、サブクラスは実装を提供する必要があります。ポリモーフィズム
は、クラス インスタンスの同じメソッドが異なる状況で異なる表現を持つことを指します。ポリモーフィズムにより、異なる内部構造を持つオブジェクトが同じ外部インターフェイスを共有できるようになります。これは、異なるオブジェクトに対する特定の操作は異なりますが、それら (それらの操作) は共通のクラスを通じて同じ方法で呼び出すことができることを意味します。
とは、クラスの機能は単一でなければならず、すべてを包括することはできないことを意味します。人間と同じように、あまりにも多くの仕事を割り当てられるべきではありません。そうしないと、一日中忙しくても効率は高くありません。
モジュールは拡張性の観点からオープンであり、変更可能性の観点からクローズされている必要があります。たとえば、ネットワーク モジュールには元々サーバー側の機能しかありませんでしたが、クライアント側の機能を追加する必要がある場合、サーバー側の機能のコードを変更することなく、クライアント側の機能の実装コードを追加できるようになります。設計の最初に追加する必要があり、サーバーとクライアントを分離し、パブリック部分を抽象化する必要があります。
B が A より下位のモジュールであるとします。しかし、B は A の関数を使用する必要があります。このとき、B は A の具象クラスを直接使用すべきではありません。代わりに、B は抽象インターフェイスを定義し、A はこれを実装する必要があります。抽象化インターフェイスの場合、B はこの抽象インターフェイスのみを使用します。これにより、依存関係の反転の目的が達成され、B は A への依存性も解放されます。次に、A は、B によって定義された抽象インターフェイスに依存します。 B が A の実装にも直接依存している場合、上位レベルのモジュールを通じて下位レベルのモジュールに依存することを回避するのは困難であり、循環依存関係が発生する可能性があります。よくある問題は、モジュール A をコンパイルするときにモジュール B の cpp ファイルを直接インクルードする必要があり、B をコンパイルするときに A の cpp ファイルも直接インクルードする必要があることです。
PHP の 5 つのオブジェクト指向原則の詳細な説明: オープン-クローズ原則
PHP の 5 つのオブジェクト指向原則とインターフェイス分離の原則の詳細な説明
以上がPHPオブジェクト指向の3つの基本特性と5つの基本原則の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。