オブジェクト指向プログラミングを理解するのは簡単OOP--

OOP:オブジェクト指向プログラミング

A. OOPとは何ですか

オブジェクト指向プログラミング:オブジェクト指向プログラミング、OOP、オブジェクト指向プログラミング。

オブジェクト指向プログラミングはコンピュータプログラミングアーキテクチャ、自分のコンピュータ・プログラムの基本的な原理は、単一のユニットが役割サブルーチンまたはオブジェクトの組み合わせを再生することができます。

OOPはプログラムより再利用性、柔軟性と拡張性を作ります。核となるアイデアは、OOPである:カプセル化継承ポリモーフィズム(に焦点を当てたクラスオブジェクト)。

プロセス中心のプログラミングのアイデア(プロセス指向プログラミング)とは異なるPOP、およびオブジェクト指向プログラミングは、中心的な考えは、オブジェクトを呼び出すことによって、あなたが達成したい目標を達成することです。

オブジェクト指向の考え方:

  1. 私たちの考え方に沿って、より多くのは、思考の習慣です。
  2. 複雑な物事を単純化することができます。
  3. 私たちは、演奏者からの司令官となります。

二つ。OOP機能

1.包装

パッケージは、単に方法でコードを複製し、新しいプログラムは、複雑なプログラミングの必要性を排除し、私たちのクラスを直接呼び出すことができます。パッケージは、「をコードすることができるような高凝集、低結合」、この状態は、パッケージの基本的な目標です。ユーザーの場合、ユーザーは様々な操作のオブジェクトは、ユーザーが唯一のオブジェクトがクラスをカプセル化し呼び出すことにより、操作したいする必要がある方法を知っている必要はありません。このアイデアパッケージは、大幅にコードを再利用性が高いほど、より効率的になり、手順を単純化します。

パッケージには隠されている必要はありませんコンテンツの両方を提供することで別の目的で、そこにある、隠れた財産(秘密鍵)は、そのメソッドへのパブリックアクセスを提供します。これは、のコードように、ユーザが直接、プログラムの詳細にアクセスすることはできません可能なセキュリティを改善します。

2.継承

継承は、これらのカテゴリのうちの2つ以上の関係です。名前が示すように、それは継承サブクラスは親のすべての機能が含まれていますが、子クラス自体も(サブクラスオブジェクトは、親オブジェクトである)独自のメソッドを持つことができます。継承は、単一継承に分割して継承することができる単一継承が言うことであり、オブジェクトは他のオブジェクトの対応する機能を継承し、多重継承は、1つの目的は、オブジェクトの同時に2つ以上を継承することができることを意味します必要な特性や能力は、というように競合しません。Javaコードでは、単一の継承を実現することができ、そしていくつかの他のプログラミング言語(Javaはサブクラスによって修飾することができる延び、サブクラスがスーパークラスの非プライベートメンバを継承できる)多重継承を達成することができます。

継承し、コードの再利用の維持を達成するだけでなく、とも呼ばれる、いくつかのクラスに依存しているために、追加の機能を完了するために結合継承コードを(クラスが増大するクラスと、の間でより多くの依存関係を行いながらカップリング)。そして、ソフトウェア設計の原則は以下のとおりです(機能クラスを完了するために、個々の能力)、高凝集および低カップリング。

Javaプログラムでは、オブジェクトはすべてのクラスが直接または間接的にそれを継承し、すべてのクラスの最上位の親です。そして、サブクラスの親クラスのプライベートメンバーは、(親クラスは、秘密鍵、コンテンツを変更している)を継承することはできません。また、サブクラスは親クラスのコンストラクタを継承するもののコンストラクタは、継承に参加しませんが、superキーワードを持つ親クラスのコンストラクタにアクセスすることができ、親クラスのコンストラクタを持っている場合は、サブクラスが継承や親を使用するには、親クラスの時間を継承するためクラスデータ、サブクラスのコンストラクタは最初の実行をするために、親クラスを初期化する前にそう。あなたは親クラスのコンストラクタの再構成を実行するために、サブクラスのオブジェクトを作成すると、サブクラスを実行しています。

3.ポリモーフィズム

継承は、多型の前提条件であります

多型は、同じ名前のメソッド呼び出しを意味するが、結果は異なっています。多型は、クラスやオブジェクトには作用しない、プロセスに作用している、オブジェクトは属性ではありません。我々は個別にそれぞれのケースに対処するためのプログラムを必要とするので多型を生成する、ポリモーフィックコードの柔軟性を高めると同時に、ユーザーのニーズを満たします。

実装しなければならない多くの状態を生成するには、メソッドのオーバーライド、同一の親クラス(メソッド名、パラメータリスト、戻り値の型を()サブクラスのメソッドを宣言をして登場し、サブクラスの親をオーバーライドするために、オーバーライドされたメソッドを発生方法クラス)、またはメソッドオーバーロードクラスを可能にするが(同じ名前のメソッドは、パラメータまたは異なるパラメータを入力することができる)の数限り、表示されます。

多型コードのスケーラビリティを向上させると同時に、また特性(再利用性と保守性)を継承しています

三。OOPの利点

1.勉強

コア、別個のデータおよびプロセスようなアルゴリズムに従来のプロセス指向プログラミング、複数のコンピュータの見解を反映するが、コードの読みやすさ、理解することはより困難であるコードを減少させるが。プロセス指向のプログラミング、反復コードは、クラスと初心者以上であってもよいように、継承された多数の方法によって得ることができるだけでなく、プログラマの負担を軽減しつつ現象状態情報と、これらの特性を対処する方法の間に、カプセル化することができますコードをよく理解し、プロセス指向プログラミングアルゴリズムと対向していません。

2.安定しました

モジュラー技術の場合には、伝統的なプロセス指向のアプローチ、大きな障害が同時に同じモジュールの複数の実行を達成することは不可能です。キュークラスを実装するためにターゲットブロックを使用して、クラスのインスタンスと、モジュールのクラスを実装するオブジェクト指向の技術、クラスは、各種操作のキューを含みます。テンプレートとしてキューには、複数のキューのオブジェクトを生成することができます。各オブジェクトは、同じメソッドを持っています。しかし、それはこのように、この発展は非常に困難な問題へのプロセス指向のソリューションを容易に、同時に独立して様々なアプリケーションのためのシステムを操作することができます。

3.良い維持

コードのメンテナンス、より高いので、それは小さい可読性を維持することの難しさへのコードオブジェクト指向プログラミング中。大幅に継承によって減少した冗長コードと簡単に符号化効率を向上させるために、既存のコードを拡張するだけでなく、エラーの確率を低減し、ソフトウェアの保守の困難さを軽減することができます。

4.強力な再利用性

コードの再利用性の高いを行うコードのパッケージを達成するために、以来。それ自体が分割されている機能コードを実現するが、一般的に良好な関連があります。オブジェクトの重合によって、それがパッケージ内に組み合わせることができ、低から高へのアップグレードの目的を達成するために、構造の機能に抽象的原理を内側と外側のエクステントオブジェクトの実現を保証します。

四。OOP欠陥

1.低動作効率

プログラムの作成にカプセル化されたアイデアを追求するためには、多数のクラスを作成し、クラスのロードされた犠牲システムのパフォーマンスは速度が低減されるようになります。CPU速度やメモリ容量を向上させるためにしても、しかし、大規模なコードの顔は、作業効率の問題は、まだ表示されます。

2.ライブラリが巨大です

ライブラリが大きすぎるので、それらをマスターするプログラマはある程度の時間がかかりますため、推進の立場の人気は、ライブラリーは、その完全に機能ごとの対応する減少を確保するためにする必要があります。

3.信頼性ライブラリ

大きなシステムでは、クラスを使用する際に問題が発生し、それがその後の作業プログラムに影響を与えるだろう、プログラマが完全に様々な環境で、各クラスが絶対に正しいライブラリを保証することはできません、私たちは隠された問題の存在を予測することはできないだろうメンバーは、プログラミングや保守のプロセスに困難をもたらしたオリジナル作品のすべてのエラー打倒のクラスよりも優れていることがあります。

おすすめ

転載: www.cnblogs.com/a-xia/p/11320358.html
おすすめ