ホームページ >よくある問題 >オブジェクト指向プログラミングの基本的な特徴

オブジェクト指向プログラミングの基本的な特徴

(*-*)浩
(*-*)浩オリジナル
2019-07-25 10:35:0831942ブラウズ

オブジェクト指向プログラミング(Object Oriented Programming,OOP)方式は現在主流のプログラミング手法であり、プロセス指向プログラミングに比べてより人間に即したプログラミング手法です。自然な考え方。

オブジェクト指向プログラミングの基本的な特徴

#オブジェクト指向プログラミングの基本的な特性は、カプセル化、継承、ポリモーフィズムです。 (推奨される学習: PHP ビデオ チュートリアル )

1. カプセル化

カプセル化とは、オブジェクトのプロパティと実装の詳細を隠すことです。外部に公開されたインターフェイスのみ、プログラム内の属性の読み取りと変更のためのアクセス レベルを制御し、抽象化されたデータと動作 (または関数) を組み合わせて有機的な全体を形成します。つまり、データは、動作するためのソース コードと有機的に結合されます。データと関数を組み合わせて「クラス」を形成し、データと関数はクラスのメンバーとなります。

カプセル化の目的は、セキュリティを強化し、プログラミングを簡素化することです。ユーザーは、特定の実装の詳細を知る必要はなく、外部インターフェイスを介して特定のアクセス権を持つクラスのメンバーを使用するだけで済みます。

オブジェクト指向とは、プログラムを使って物事を処理する際に、オブジェクトを中心に分析することではありませんか? 処理のロジックや流れなどは気にするが、処理の内容は気にしないプロセス指向とは異なります。イベントの主題。オブジェクト指向とは主体指向を意味するため、問題を解決するときは、まずオブジェクトをカプセル化する必要があります (オブジェクトはカプセル化されたクラスのインスタンスです。たとえば、Zhang San は人であり、person はカプセル化されたクラスです。Zhang San は単なるインスタンスであり、オブジェクト内のオブジェクト。)。たとえば、私たちの日常生活に登場する小さなウサギや小さな羊は、クラスにカプセル化できます。

たとえば、ウサギの属性には 2 つの耳、4 本の足、1 対の目、3 つの口などがあり、その行動 (機能) には走る、跳ぶ、食べるなどがあります。

2. 継承

継承はオブジェクト指向の基本機能の 1 つであり、継承メカニズムにより階層クラスの作成が可能になります。継承とは、サブクラスが親クラスの特性と動作を継承することを意味し、その結果、サブクラスのオブジェクト (インスタンス) が親クラスのインスタンス フィールドとメソッドを持つか、サブクラスが親クラスからメソッドを継承し、サブクラスが親クラスと同じ動作になります。以下の図に似ています:

上記では Rabbit クラスをカプセル化しましたが、他の動物もカプセル化できます。カプセル化のプロセス中に、ウサギとヒツジの 2 つのクラスが、草を食べるなどの類似した機能または特性を持っていることがわかりました。そのため、草食動物と肉食動物などの上位クラスを形成するための共通の特徴と方法を抽出できます。継承は、子クラスと親クラスの間の関係です。継承メカニズムは、クラスの生態を適切に記述することができ、コードの再利用率も向上します Java の Object クラスは、すべてのクラスのスーパークラスであり、しばしば神クラスと呼ばれます。

3. ポリモーフィズム

ポリモーフィズム 同じ動作が複数の異なる表現や形式を持つ能力。これは、クラス インスタンス (オブジェクト) の同じメソッドが、状況によって異なる表現になることを意味します。ポリモーフィズムにより、異なる内部構造を持つオブジェクトが同じ外部インターフェイスを共有できるようになります。これは、異なるオブジェクトに対する特定の操作は異なりますが、それら (それらの操作) は共通のクラスを通じて同じ方法で呼び出すことができることを意味します。

ポリモーフィズムの利点:

1. 型間の結合関係を排除

2. 代替性

3 . スケーラビリティ

4. インターフェイス

5. 柔軟性

6. 簡素化

ポリモーフィズムの存在に必要な 3 つの条件:

継承の書き換え (サブクラスが親クラスを継承し、親クラスのメソッドを再定義する) 親クラスの参照がサブクラスのオブジェクトを指す

つまり、ポリモーフィズムは実際には継承に基づいています。たとえば、今日私たちは動物を見に動物園に行くのですが、ウサギ、羊、ライオン、ヒョウを見に行くというのは正しいですが、車を見に行くとは言えません。この例では、サブクラスは多態性です。独自の ID を使用することに加えて、親クラスとしても機能します。

PHP 関連の技術記事をさらに詳しく知りたい場合は、PHP グラフィック チュートリアル 列にアクセスして学習してください。

以上がオブジェクト指向プログラミングの基本的な特徴の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。