ホームページ >よくある問題 >オブジェクト指向プログラミングとは

オブジェクト指向プログラミングとは

angryTom
angryTomオリジナル
2019-08-03 11:27:2222962ブラウズ

オブジェクト指向プログラミングとは

オブジェクト指向 (OO) はソフトウェア開発手法の 1 つです。オブジェクト指向の概念とアプリケーションは、プログラミングやソフトウェア開発を超え、データベース システム、インタラクティブ インターフェイス、アプリケーション構造、アプリケーション プラットフォーム、分散システム、ネットワーク管理構造、CAD テクノロジー、人工知能などの分野に拡大しました。オブジェクト指向は、現実世界を理解し抽象化する方法であり、コンピュータ プログラミング技術が一定の段階まで発展した成果です

推奨チュートリアル:Java 開発チュートリアル

コンセプト

⑴オブジェクト。

オブジェクトとは、人々が研究したいと思うあらゆるものです。最も単純な整数から複雑な飛行機まで、それらはオブジェクトと見なされます。特定のものを表すだけでなく、抽象的なルール、計画、イベントも表すことができます。

⑵オブジェクトの状態と動作。

オブジェクトには状態があり、オブジェクトはデータ値を使用してその状態を記述します。

オブジェクトには、オブジェクトの状態を変更するために使用される操作もあります。オブジェクトとその操作は、オブジェクトの動作です。

オブジェクトはデータと操作の組み合わせを実現するため、データと操作はオブジェクト

⑶ クラスの単一性の中にカプセル化されます。

同じ特性 (データ要素) と動作 (関数) を持つオブジェクトを抽象化したものがクラスです。したがって、オブジェクトを抽象化したものがクラスであり、クラスを具象化したものがオブジェクトであり、クラスのインスタンスがオブジェクトであり、クラスが実際にはデータ型であるとも言えます。

クラスにはオブジェクトの状態を抽象化した属性があり、クラスの属性を記述するためにデータ構造が使用されます。

クラスには、オブジェクトの動作を抽象化した操作があり、操作名と操作を実装するメソッドによって記述されます。

⑷クラス構成。

客観的な世界にはいくつかのカテゴリーがあり、これらのカテゴリー間には特定の構造的関係があります。通常、2 つの主要な構造関係、つまり一般-特定の構造関係と全体の構造関係が存在します。

①一般--特定の構造は分類構造と呼ばれ、「or」関係または「is a」関係とも言えます。

②全体の部品構造はアセンブリ構造と呼ばれ、それらの間の関係は「and」関係または「has a」関係になります。

⑸メッセージとメソッド。

オブジェクト間の通信に使用される構造はメッセージと呼ばれます。オブジェクト操作では、メッセージがオブジェクトに送信されるとき、メッセージには受信オブジェクトが特定の操作を実行するための情報が含まれます。メッセージの送信には、少なくともメッセージを受信するオブジェクトの名前と、オブジェクトに送信されるメッセージの名前 (つまり、オブジェクト名、メソッド名) を含める必要があります。通常、パラメータは説明する必要があり、パラメータは、メッセージを認識するオブジェクトに知られている変数名、またはすべてのオブジェクトに知られているグローバル変数名にすることができます。

クラス内での演算の実装処理をメソッドと呼び、メソッドにはメソッド名、戻り値、パラメータ、メソッド本体が含まれます。

#特徴

⑴オブジェクトの一意性。

各オブジェクトには独自の一意の識別子があり、それによって対応するオブジェクトを見つけることができます。オブジェクトの存続期間中、そのアイデンティティは変化せず、異なるオブジェクトが同じアイデンティティを持つことはできません。

⑵抽象性。

抽象化とは、一貫したデータ構造 (プロパティ) と動作 (操作) を持つオブジェクトをクラスに抽象化することを指します。クラスは、アプリケーションに関連する重要なプロパティを反映し、その他の無関係なコンテンツを無視する抽象化です。クラスの分割は主観的ですが、特定のアプリケーションに関連している必要があります。

⑶継承。

継承とは、サブクラスが親クラスのデータ構造やメソッドを自動的に共有する仕組みであり、クラス間の関係です。クラスを定義して実装するときは、既存のクラスに基づいて実行したり、既存のクラスによって定義されたコンテンツを独自のコンテンツとして取得したり、新しいコンテンツを追加したりできます。

継承は、オブジェクト指向プログラミング言語を他の言語から区別する最も重要な機能であり、他の言語には見られません。

クラス階層では、サブクラスは親クラスのデータ構造とメソッドのみを継承します。これを単一継承と呼びます。

クラス階層において、サブクラスが複数の親クラスのデータ構造やメソッドを継承することを多重継承と呼びます。

多重継承、JAVA、VB、NET、および Objective-C は単一継承のみをサポートします。C で多重継承を使用する場合は、あいまいさに注意する必要があることに注意してください。

ソフトウェア開発では、クラスの継承により、作成されたソフトウェアがオープンで拡張可能になります。これは、情報を整理および分類する効果的な方法です。オブジェクトとクラスの作成が簡素化され、コードの再利用性が向上します。

継承を使用して、クラスの標準化された階層構造を提供します。クラスの継承関係により、公開機能を共有でき、ソフトウェアの再利用性が向上します

⑷ポリモーフィズム(多態性)

ポリモーフィズムとは、同じ操作、関数、またはプロセスを複数の種類のオブジェクトに適用して、異なる結果が得られることを意味します。同じメッセージを受信したときに、オブジェクトが異なれば結果も異なる場合があり、この現象はポリモーフィズムと呼ばれます。

ポリモーフィズムを使用すると、各オブジェクトがそれに適した方法で共通のメッセージに応答できます。

ポリモーフィズムにより、ソフトウェアの柔軟性と再利用性が向上します。

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

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