"新しい標準C ++プログラミング" 2.1-2.3(C ++の研究ノート3)

図1に示すように、構造化プログラミングの欠如
+データ構造=プログラムアルゴリズム
データ構造及び変数は対応する、対応するアルゴリズム及び機能、アルゴリズムは、データ構造を操作するために使用されます。
それは視覚的な接触なしで操作する構造化プログラミング、関数やデータ構造。プログラムのサイズの増加に伴い、プログラムは徐々に、それが見えにくい理解するのは難しい:データ構造最後に、それが操作することができる機能でしょうか?最後どのようなデータ構造での機能を動作させるために使用されていますか?どのような種類の任意の二つの関数呼び出しの間に存在する関係の?
構造化プログラミングには、「パッケージ」、「隠された」概念ではありません。変数の定義だけ変化したときに変数のデータ構造にアクセスするには、それから、修正を見つけるために、変数にアクセスするすべての文は、メンテナンスプログラム、拡大に資するものであることが肝要で直接アクセスであることができます。困難なトラブルシューティング、データ構造の値が正しくない場合、最終的に見つけることは困難であるがどの機能に起因します。
構造化プログラミングは、コードの再利用を助長されていません。プログラムを書くとき、多くの場合、それはまだ自然に新しいプログラムで使用される、ソースコードの一部を抽出できることを願って、既存のプログラムに実装し、同一または類似のを持っている機能を必要と見つけます、コードの再利用と呼ばれています。プログラムは、多くの機能、変数間の複雑な関係は、コードのこの部分を抽出するため、プログラムのサイズが大きくなると、プログラミング構造では、それは非常に困難になります。
要するに、大規模は、それが拡大することは困難で、理解することが困難になるプログラム、(新しい機能を追加)の構造は、再利用することは困難で、トラブルシューティングすることは困難です。
図2に示すように、オブジェクト指向プログラミングの概念の特徴
(1)オブジェクト指向プログラミングクラス=クラス+クラス+ +···
(2)は、4つの基本特性(抽象化、カプセル化、継承、多型)
オブジェクト指向プログラミング方法:特定の共通の特徴(属性)誘導うち目的のものは、データ構造を形成する(変数複数の属性とすることができるものを記載);そのようなものの動作は、機能を形成する、加算も行うことができ、これらの機能をこれは、データ構造を操作するために使用することができます(このステップは、「抽象的」と呼ばれています)。
次に、構文、データ構造と、「バンドル」データ構造の操作の機能のいくつかのフォームを介して互いにデータ構造とアルゴリズムであるデータ構造を呈する明らかに密接な関係に基づくように、「クラス」を形成します「パッケージング。」
「パッケージ化」「抽象的」、「継承」四つの基本的な特性を持つオブジェクト指向プログラミング「多型。」
3、定義およびクラスの使用
の定義(1)クラス
のクラスのクラス名
{
アクセス範囲指定子:
メンバー変数
メンバー変数2
?????
メンバ関数宣言
2つのメンバ関数宣言
アクセス指定子範囲:
複数のメンバー変数
よりマルチメンバ関数宣言
???
};
定義①クラスが取るべき「;」端が
範囲指定に②アクセス3つのタイプがあり:パブリック、プライベート、保護は、範囲指定子へのアクセスが複数回発生する可能性があり
、(2)メンバ変数と部材機能
、オブジェクトの「プロパティ」を表すフィールド、オブジェクト「方法」の代わりにメンバ関数、メンバ変数とメンバ関数の順序が指定されていないように見えます。互いの間のクラスのメンバ関数呼び出しをすることができ、あなたはまた、パラメータのデフォルト値を設定してメンバ関数をオーバーライドすることができます。メンバ変数とメンバ関数をまとめてクラスのメンバーと呼ばれています。
定義フォーマット(3)メンバ関数は、
値型のクラス名を返す::関数名()
{
ステートメント群
}
基本的な方法(4)オブジェクトの定義
オブジェクトの名前のクラス名。
C ++は、クラス名は、あなたがそれを使用するためにそのような基本的な型を使用することができ、ユーザー定義型の名前です。

おすすめ

転載: www.cnblogs.com/cyn522/p/12244324.html