C#
 Computer >> コンピューター >  >> プログラミング >> C#

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


抽象化とカプセル化は、オブジェクト指向プログラミングの関連機能です。抽象化により、関連情報を可視化でき、カプセル化により、プログラマーは必要なレベルの抽象化を実装できます。

抽象化は、C#の抽象クラスを使用して実現できます。 C#を使用すると、インターフェイスの部分的なクラス実装を提供するために使用される抽象クラスを作成できます。派生クラスがそれを継承すると、実装が完了します。抽象クラスには、派生クラスによって実装される抽象メソッドが含まれています。派生クラスには、より特殊な機能があります。

重要なポイントは次のとおりです-

  • 抽象クラスのインスタンスを作成することはできません

  • 抽象クラスの外部で抽象メソッドを宣言することはできません

  • クラスが封印されていると宣言されている場合、それを継承することはできません。抽象クラスは封印されていると宣言することはできません。

using System;
namespace Demo {
   abstract class Shape {
      public abstract int area();
   }

   class Rectangle: Shape {
      private int length;
      private int width;

      public Rectangle( int a = 0, int b = 0) {
         length = a;
         width = b;
      }
      public override int area () {
         Console.WriteLine("Rectangle class area :");
         return (width * length);
      }
   }
   class RectangleTester {
      static void Main(string[] args) {
         Rectangle r = new Rectangle(20, 15);
         double a = r.area();
         Console.WriteLine("Area: {0}",a);
         Console.ReadKey();
      }
   }
}

出力

Rectangle class area :
Area: 300

  1. C#の抽象クラス

    C#の抽象クラスには、抽象メソッドと非抽象メソッドが含まれます。クラスは、抽象クラスとして抽象として宣言されます。抽象クラスをインスタンス化することはできません。 抽象クラスVehicleと抽象メソッドdisplay()-がある例を見てみましょう。 public abstract class Vehicle {    public abstract void display(); }  抽象クラスには、バス、車、オートバイの派生クラスがあります。以下は、バス派生クラスの実装です- public class Bus : Vehicle {    

  2. Javaの抽象クラス

    宣言にabstractキーワードを含むクラスは、abstractクラスと呼ばれます。 抽象クラスには、抽象メソッド、つまり本体のないメソッドが含まれる場合と含まれない場合があります(public void get();) ただし、クラスに少なくとも1つの抽象メソッドがある場合、そのクラスは抽象として宣言する必要があります。 クラスが抽象として宣言されている場合、インスタンス化することはできません。 抽象クラスを使用するには、それを別のクラスから継承し、そのクラスに抽象メソッドの実装を提供する必要があります。 抽象クラスを継承する場合は、その中のすべての抽象メソッドに実装を提供する必要がありま