PHP におけるカプセル化とは、クラスの使用と実装を分離し、外部と通信するための限られたインターフェイス (メソッド) だけを残すことです。このクラスを使用する開発者は、このクラスの使用方法を知っていれば問題ありません。 class ただし、このクラスの実装方法について心配する必要はありません。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
PHP はオブジェクト指向プログラミング言語です。 。
オブジェクト指向は、人間の思考習慣に準拠したプログラミングの考え方です。現実にはさまざまな形のものがあり、それらの間にはさまざまなつながりがあります。プログラム内でオブジェクトを使用して現実の物体をマッピングし、オブジェクトの関係を使用して物体間の接続を記述することはオブジェクト指向です。
オブジェクト指向プログラミングの特徴
オブジェクト指向プログラミングには、カプセル化、継承、ポリモーフィズムという 3 つの大きな特徴があり、コードの再利用性と柔軟性が重視されています。スケーラビリティの必要性により、プログラミングにおけるオブジェクト指向プログラミングの地位が確立されました。
1) カプセル化
カプセル化とは、クラスの使用と実装を分離し、外部と通信するインターフェイス (メソッド) を限られたもののみに残すことです。このクラスを使用する開発者は、このクラスの使用方法を知るだけでよく、このクラスがどのように実装されるかを気にする必要はありません。そうすることで、開発者は他のことに集中できるようになり、同時にプログラム間の相互依存によって引き起こされる不都合も回避できます。
たとえば、コンピュータを使用する場合、各コンポーネントの具体的な用途を理解するためにコンピュータを分解する必要はなく、電源ボタンを押すだけでコンピュータが起動するため、パッケージ化のメリットが反映されています。 。
2) 継承
継承とは、派生クラス (サブクラス) が 1 つ以上の基本クラス (親クラス) のプロパティとメソッドを自動的に継承し、新しいプロパティをオーバーライドまたは追加できることを意味します。方法。継承によりオブジェクトとクラスの作成が簡素化され、コードの再利用性が向上します。
たとえば、クラス A が定義されており、次にクラス B を定義します。クラス B には、クラス A と同じ属性とメソッドが多数あります。その後、クラス B を使用してクラス A を継承できます。 , そのため、クラス A の既存のプロパティやメソッドをクラス B で定義する必要がなくなり、プログラムの開発効率が大幅に向上します。
継承は単一継承と多重継承に分けられます。PHP は現在単一継承のみをサポートしています。これは、サブクラスが親クラスを 1 つだけ持つことを意味します。
3) ポリモーフィズム
オブジェクトの状態は変更可能です。オブジェクトは、同じクラスの別のオブジェクトと比較して異なる状態を持つことができ、同じプロパティとメソッドを持っていても、異なる状態を持つことができます。さらに、クラスは複数のサブクラスを派生できます。これらのサブクラスは、親オブジェクトの一部のプロパティとメソッドを保持しながら、いくつかの新しいメソッドとプロパティを定義したり、親クラスの既存のプロパティの一部を完全に書き換えたりすることもできます。ポリモーフィズムにより、ソフトウェアの柔軟性と再利用性が向上します。
php のカプセル化
カプセル化は、PHP のオブジェクト指向機能の 1 つで、複数の再利用可能な関数を 1 つのクラスにカプセル化します。このクラスのメソッドを使用して必要なデータを取得する場合は、このクラスのメソッドを直接インスタンス化します。
プライベート メソッドおよび属性値の場合、外部からアクセスできないため、一定の保護効果があります。
オブジェクト指向のカプセル化の例
class A{ public $name = '老王'; // protected $name = '老王'; //private $name = '老王'; //自己访问 public function saya(){ return $this->name; } } //实例化对象 $b = new A; //public:外部、家族、自己都可以访问 //protected:家族和自己都可以访问,外部无法访问 //private:自己可以访问,外部和家族都无法访问 echo '外部访问:'.$b->name.'<br>'; //如果是私有的,访问不了 echo '家族访问:'.$b->sayb().'<br>'; echo '自己访问:'.$b->saya().'<br>';
推奨学習:「PHP ビデオ チュートリアル」
以上がPHPにおけるカプセル化とは何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。