C ++の抽象化とは何ですか? 実際の例とその実装
公開: 2021-05-19オブジェクト指向プログラミング(OOP)は、プログラミングの最も一般的なパラダイムであり、プログラマーがコーディングするための標準的な方法です。 OOPは、クラスとオブジェクトの概念に取り組んでいます。 これは、ソフトウェアプログラムを、個々のオブジェクトを作成するためのクラスと呼ばれる単純で再利用可能なコードに構造化します。 C ++はオブジェクト指向プログラミング言語であり、C ++での抽象化は、最も重要なC ++機能の1つであり、この記事のハイライトです。
オブジェクト指向プログラミングは、プログラムの柔軟性を高めることを目的としています。 この記事では、C ++プログラムでデータの抽象化がどのように実行されるか、およびそれを実行する利点について学習します。
目次
C++でのデータ抽象化
抽象化は2つのラテン語から派生しています。「abs」は「離れる」を意味し、「牽引力」は「描く」を意味し、詳細全体を含めずに必要な必須機能を表すことを指します。
C ++クラスは、関数などの抽象属性のリストを使用して抽象化を実行します。 それらは、作成されるオブジェクトのすべての重要なプロパティを配置します。 属性はデータメンバーと呼ばれ、それらを操作する関数はメンバー関数と呼ばれます。 データ抽象化の概念を使用するC++クラスは、抽象データ型と呼ばれます。
ソース
クラスを使用している間、データメンバーとメンバー関数はコードで表されます。 ただし、データ抽象化と呼ばれるオブジェクトを使用している間は、組み込みのデータ型とクラスのメンバーは無視されます。
C++で抽象化を実証するプログラム
#include <iostream.h>
#include <conio.h>
クラス合計
{{
//データの抽象化
プライベート: int x、y、z;
パブリック:
void add()
{{
clrscr();
cout << “ 2つの数字を入力してください:“ ;
cin >> x >> y;
z = x + y;
cout << “数値の合計:“ << z;
}
};
void main()
{{
合計s;
s.add();
getch();
}
出力
2つの数字を入力してください:
22
23
数字の合計:45
抽象化を示す実際の例
抽象化はオブジェクト指向プログラミングの機能であり、関連する詳細のみがユーザーに表示され、関連しない詳細は非表示になります。
これらの例を使用して、C++での抽象化を理解できます。
メールが送信されたら、[送信]をクリックするだけで、送信済みの領収書が届きます。 ここで抽象化されているのは、受信者に転送されたデータです。
電話の重要な機能は、メモリカード、SIM、バッテリー寿命、デザイン、およびプロセッサです。 電話を操作している間は、目に見えないさまざまなメディアのCPUメモリ割り当てなどの電話の操作の詳細には触れません。 電話機の内部で何が起こっているかを知らなくても、電話機の特定のコマンドとボタンのみを使用できます。
車を運転している男性は、アクセルを押すと車の速度が上がることを知っていますが、彼はノウハウを知りません。それは抽象化に他なりません。
C++でのデータ抽象化の実装
C ++は、オブジェクト指向プログラミングアプローチです。 C ++でのデータ抽象化は、次の2つの方法で実装されます。
- クラスとオブジェクトの使用
- ヘッダーファイルの使用
ソース
1.クラスとオブジェクトの使用
特定のデータメンバーまたはメンバー関数を抽象化して、クラスの外部からアクセスできるようにするか、クラスの助けを借りてパブリック、プライベート、または保護されたアクセス指定子を使用しないかを選択できます。
2.ヘッダーファイルの使用
ヘッダーファイルには、そのヘッダーファイルにリンクされた組み込みのライブラリ関数が含まれています。 ヘッダーファイル#include<string.h>の場合、プログラマーは関数strcpy()やstrlen()などにアクセスできます。
プログラム:
クラス、オブジェクト、およびヘッダーファイルを使用した抽象化を理解するための単純なC++プログラムを見てみましょう。
#include <iostream>
名前空間stdを使用します。
クラス抽象化
{{
// プライベート
int num1、num2;
公衆:
//プライベートメンバーにアクセスするには
void input(int n1、int n2)
{{
num1 = n1;
num2 = n2;
}
void sum()
{{
cout <<”合計は次のとおりです:” << num1 + num2 << endl;
}
};
int main()
{{
cout <<“ C ++でのデータ抽象化“ << endl;
抽象化a;
a.input(11、18);
a.sum();
0を返します。
}
出力
C++でのデータ抽象化
合計は:29
C++での抽象化の利点
C++での抽象化が有益なプログラミング概念であるという事実を否定することはできません。 それが提供するいくつかの利点について明確に説明しましょう。
冗長性を回避することにより、コードの再利用性とクラスの分割を強化します。
コードの複雑な動作を排除してコードを理解しやすくすることで、コードの可読性を高めます。
クラスの内部は、偶発的なユーザーレベルのエラーから保護されます
C ++での抽象化は、高水準コードを作成するための方法です。
コードの重複を回避し、プログラマーは同様の操作のために毎回一般的なタスクを実行する必要がありません
ユーザーに影響を与えることなく、内部クラスの実装を個別に変更できます。
世界のトップ大学からオンラインでソフトウェア開発コースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
結論
C ++でのデータ抽象化は、許可されていない方法からのデータセキュリティを提供する方法です。 この記事では、広く使用されている最も重要なC ++の概念の1つを、その実装と実際の例とともに説明して、わかりやすくしました。 知識がほとんどまたはまったくない初心者にとって、ある程度の練習で概念を理解することは難しくありません。
u pGradのコンピュータサイエンスの理学修士コースを検討している場合は、学習プロセスがよりスムーズになります。
これらのC++プロジェクトを実行する上で素晴らしい学習の機会があることを願っています。 詳細に興味があり、業界の専門家からの指導が必要な場合は、フルスタックソフトウェア開発におけるupGrad&IIITBangloreのエグゼクティブPGをご覧ください。
C ++の抽象化とは何ですか?
抽象化は、特定の目的に関連する詳細を非表示にするプロセスです。 これがオブジェクト指向プログラミングの中心的な考え方です。 これにより、プログラマーは、解決される実際の問題よりも一般的なコードを記述できます。 これは、コードのサイズを縮小し、コードを単純化するのに役立ちます。 抽象化により、新しいニーズに合わせてコードを変更することなく、将来的にコードを変更することもできます。
オブジェクト指向プログラミングの重要な柱は何ですか?
抽象化:抽象化は、複雑な操作の詳細とこの操作を実行するコードの間でさまざまな分離層を使用するプロセスと考えることができます。 ポリモーフィズム:これは基本的に、同じ操作を異なるコンテキストで異なる方法で表現できることを意味します。 継承:継承とは、コードの再利用に関するものです。 インターフェース:インターフェースは、クラスの高レベルの説明です。 これらは基本的に、クラスが持つ必要のあるメソッドを指定するコントラクトです。 コンポジション:コンポジションとは、より複雑な機能を実現するためにオブジェクトを組み合わせるということです。
C ++で抽象化を実現する方法は?
抽象化は、概念の実装です。 これは、一連のクラスと関数を使用して、アイデアをそれを実装するコードから分離するときに行うことです。 C ++では、抽象化はクラス、テンプレート、または関数です。 C ++では、抽象化はさまざまな方法で実現されます。たとえば、C ++は、データの抽象化を実現するための複数の方法を提供します。これは、実装の詳細を非表示にし、クライアントコードを高レベルのインターフェイスで動作させることを意味します。