Cでのカプセル化と抽象化の違いは何ですか

目次:

Anonim

NS 主な違い C#でのカプセル化と抽象化の間には、 カプセル化はデータとメソッドを単一のユニットにラップし、抽象化は実装の詳細を非表示にし、機能のみをユーザーに表示します。

C#は、Microsoftによって開発された高レベルの汎用プログラミング言語です。.NETフレームワーク上に構築されています。フレームワークは、アプリケーションを開発およびデプロイするための環境と必要なツールを提供します。 C#の主な利点の1つは、オブジェクト指向プログラミング(OOP)をサポートしていることです。したがって、開発者は問題を解決するために実際のシナリオを簡単にモデル化して表現できます。カプセル化と抽象化は、OOPの2つの主要な柱です。

抽象化、C#、カプセル化、.NET Framework、OOP

C#でのカプセル化とは

カプセル化は、データとメソッドを1つのユニットに接続します。たとえば、医療用カプセルを想定します。カバーはカプセル内の薬を保護します。カプセル化はそれに似ています。

カプセル化の主な目的は、データへのアクセスを防ぐことです。 C#では、public、protected、privateなど、いくつかのアクセス修飾子を使用できます。publicメンバーには、他のクラスからアクセスできます。保護されたメンバーは、クラス内およびサブクラスからアクセスできます。ただし、プライベートメンバーはクラス内でのみアクセスできます。プログラマーは、データメンバーをプライベートにし、パブリックゲッターとセッターを使用してデータの読み取りと書き込みを行うことができます。同様に、カプセル化はデータとメソッドを1つのユニットに結合し、データに直接アクセスすることも防ぎます。

図1:カプセル化を使用したC#プログラム

上記のプログラムでは、Studentはクラスです。 nameというプライベートデータメンバーがあります。メソッドsetNameは文字列を受け取り、その値をnameに割り当てます。 getNameメソッドは文字列名を返します。メインプログラムには、Student型のsというオブジェクトがあります。 20行目では、setNameがオブジェクトsで呼び出されています。文字列「Ann」がそのメソッドに渡されます。 21行目で、getNameは名前の取得に役立ちます。最後に、名前がコンソールに出力されます。カプセル化は、データとメソッドを1つのユニットに結合します。プログラマーは、データメンバーに直接アクセスするのではなく、public setメソッドを使用して値を割り当て、publicgetメソッドを使用して値を取得します。

C#の抽象化とは何ですか

抽象化は、実装の詳細を非表示にするのに役立ち、ユーザーに機能のみを表示できるようにします。テレビのリモコンを想定します。ユーザーは、コントローラーを使用するためにコントローラーの内部回路について知る必要はありません。抽象化はそれに似ています。それは、それがどのように行われるかに注意を払うのではなく、オブジェクトが何をするかに焦点を合わせます。

C#では、抽象化を実現するための2つの方法があります。それらは、抽象クラスまたはインターフェースを使用することによるものです。抽象クラスは、抽象メソッドと非抽象メソッドを持つことができます。抽象クラスを拡張するクラスは、抽象メソッドの実装を提供する必要があります。インターフェイスでは、すべてのメソッドが抽象的です。インターフェイスを実装するクラスは、これらの抽象メソッドの定義を提供する必要があります。

図2:抽象クラスを使用したC#プログラム

上記のプログラムでは、Shapeは抽象クラスです。それはdrawと呼ばれる抽象的なメソッドを持っています。 TriangleクラスはShapeを拡張します。したがって、このクラスはdrawメソッドを実装します。 mainメソッドでは、sはShape型のオブジェクトです。ドローメソッドは、トライアングルのドローメソッドと呼ばれます。

図3:インターフェイスを備えたC#プログラム

上記のプログラムでは、Shapeはインターフェースです。それはdrawと呼ばれる抽象的なメソッドを持っています。 TriangleクラスはShapeを拡張します。これは、drawメソッドの定義を提供します。 mainメソッドでは、sはShape型のオブジェクトです。ドローメソッドは、トライアングルのドローメソッドと呼ばれます。

C#でのカプセル化と抽象化の違い

意味

C#でのカプセル化は、データとメソッドをバインドして単一のユニットを作成するOOPの概念です。一方、C#での抽象化は、実装の詳細を非表示にし、機能のみをユーザーに表示するOOPの概念です。したがって、これがカプセル化と抽象化の主な違いです。

達成する方法

さらに、プログラマーはデータメンバーをプライベートにし、パブリックメソッドを使用してC#でのカプセル化を実現できます。 C#で抽象化を実現するための抽象クラスとインターフェイスがあります。

使用法

使用法は、カプセル化と抽象化のもう1つの違いです。あれは;カプセル化はデータ保護の目的でデータを非表示にし、抽象化はコードの複雑さを軽減するために実装の詳細を非表示にします。

結論

カプセル化と抽象化は、C#プログラミングを使用して実装できる2つのOOP概念です。 C#でのカプセル化と抽象化の主な違いは、カプセル化はデータとメソッドを1つのユニットにラップするのに対し、抽象化は実装の詳細を非表示にし、機能のみをユーザーに表示することです。

リファレンス:

1.「C#抽象–Javatpoint」 Www.javatpoint.com、こちらから入手可能2.「C#インターフェイス–Javatpoint」 Www.javatpoint.com、ここから入手できます。 3.「C#カプセル化–Javatpoint」。 Www.javatpoint.com、ここから入手できます。

Cでのカプセル化と抽象化の違いは何ですか