推奨されます, 2019

エディターズチョイス

C ++におけるオブジェクトとクラスの違い

クラスはデータとそれに関連する関数を結び付けるために使われるテクニックです。対照的に、 Objectはクラスの作成されたインスタンスです。 オブジェクトとクラスは、コードとアプリケーションの複雑さを軽減するためにデータがオブジェクトの形で編成されるオブジェクト指向プログラミングで主に使用される用語です。

オブジェクトは、公開されているメソッドを通じて状態を変更し、それらのメソッドと通信します。 それどころか、クラスは受動的であり、メッセージを渡さず、オブジェクトを作成するために使用されます。 クラスは、同様の種類のオブジェクトのコレクションとしても知られています。 オブジェクトとクラスの実質的な違いは、以下の比較表にも示されています。

比較表

比較基準対象クラス
定義クラスのインスタンスはObjectと呼ばれます。オブジェクトを作成するためのテンプレートまたは設計図はクラスと呼ばれます。
エンティティの種類物理的論理的
作り方オブジェクトは新しいキーワードによって呼び出されます。クラスはclassキーワードを使用して宣言されています。
メモリ割り当てオブジェクトの作成はメモリを消費します。クラスの形成はメモリを割り当てません。

オブジェクトの定義

オブジェクトはクラスのインスタンスです。 C ++のオブジェクトは、ユーザー定義データ型の変数として表すことができ、インスタンス変数とも呼ばれます。 各オブジェクトには、関連付けられた値または特定の種類があります。 オブジェクトはクラス名を使って呼び出されます。

たとえば 、大学がクラスになり、大学の教師がオブジェクトになることがあります。 上記の例では、大学は単なる大学の運営を統括する計画ですが、大学の運営組織は教師、校長、理事などであり、特定の指定を持つ特定の人々がクラスのメンバーです。 。

コンピュータのメモリは、そのクラスの正確な特徴を具体化するこれらのオブジェクトを格納するために使用されます。 オブジェクトを使用する利点は、新しいユーザー定義データ型を構築するための手法を提供することです。

オブジェクトを理解するために、クラスとそのオブジェクトを作成しましょう。

 #名前空間stdを使用します。 クラスキューブ{int a; public:void values(int); int volume(){return(a * a * a); ;}}; void cube :: values(int x){a = x;} int main(){キューブc;} c。値(10) cout << "立方体の体積は" < 

クラスの定義

このクラスは、データとそれに関連した機能を結び付けるために使用されます。 必要に応じて、外部使用からデータを隠すことができます。 クラスは、ほとんどすべてのプログラミング言語に存在する他の組み込みデータ型として機能する新しい抽象データ型として動作します。

たとえば 、C ++のintデータ型は、必要な数の変数を宣言するために使用できる組み込みのデータ型です。 同様に、クラスは、クラスのオブジェクトにどのようなデータと機能が関係しているかを記述する青写真または計画としても役立ちます。 intデータ型の宣言が変数を形成しないのと同様に、クラスの宣言はオブジェクトを呼び出しません。 クラスはオブジェクトを宣言するために使用されます。

クラス指定は、クラス宣言とクラス関数定義の2つの部分から成ります。

  • クラス宣言はそのメンバのスコープと型を指定します。
  • クラス関数定義は、クラス関数の実装を指定します。

ここでも球という名前のクラスを作成しましょう。

 クラスキューブ{int側; public:void values(int); intボリューム(無効)。 } 

オブジェクトとクラスの主な違い

  1. Classは似たような種類のオブジェクトのコレクションですが、オブジェクトはクラスのインスタンス化です。
  2. オブジェクトは、特定の目的のためにプログラムで使用される物理的実体であると言われています。 一方、クラスはデータと関数をバインドするために使用される論理エンティティと見なされます。
  3. オブジェクトはキーワードnewを使用して宣言されます。 反対に、クラスはclassキーワードを使って宣言されます。
  4. プログラムでは、オブジェクトがメモリを割り当てている間、クラスはストレージメモリを消費しません。

結論

オブジェクトはクラスの属性でその状態または情報を予約し、呼び出されたメソッドとともにインスタンス化時のそれらの動作を公開します。 データのカプセル化は、オブジェクトの概念を使用したプログラミングで実装されています。 一方、関連タイプのオブジェクトのグループは、共通の属性とメソッドを共有するクラスとして知られています。 クラス内で定義された属性および操作は、クラス自体を対象としているのではなく、クラスのオブジェクトを対象としています。

Top