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

C#の抽象クラス


C#の抽象クラスには、抽象メソッドと非抽象メソッドが含まれます。クラスは、抽象クラスとして抽象として宣言されます。抽象クラスをインスタンス化することはできません。

抽象クラスVehicleと抽象メソッドdisplay()-

がある例を見てみましょう。
public abstract class Vehicle {
   public abstract void display();
} 

抽象クラスには、バス、車、オートバイの派生クラスがあります。以下は、バス派生クラスの実装です-

public class Bus : Vehicle {
   public override void display() {
      Console.WriteLine("Bus");
   }
} 
C#の抽象クラスの完全な例を見てみましょう-

using System;
public abstract class Vehicle {
   public abstract void display();
}

public class Bus : Vehicle {
   public override void display() {
      Console.WriteLine("Bus");
   }
}

public class Car : Vehicle {
   public override void display() {
      Console.WriteLine("Car");
   }
}

public class Motorcycle : Vehicle {
   public override void display() {
      Console.WriteLine("Motorcycle");
   }
}

public class MyClass {
   public static void Main() {
      Vehicle v;
      v = new Bus();
      v.display();
      v = new Car();
      v.display();
      v = new Motorcycle();
      v.display();
   }
} 
出力
Bus
Car
Motorcycle

  1. Javaの抽象クラス

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

  2. Pythonの抽象基本クラス(abc)

    クラスに1つ以上の抽象メソッドが含まれている場合、そのクラスは抽象クラスと呼ばれます。抽象メソッドは宣言されているメソッドですが、実装は含まれていません。抽象クラスはインスタンス化されない場合があり、その抽象メソッドはそのサブクラスによって実装される必要があります。 抽象基本クラスは、hasattr()のような他の手法が不器用であるか、微妙に間違っている場合(たとえば、マジックメソッドを使用する場合)にインターフェイスを定義する方法を提供します。 ABCは、仮想サブクラスを導入します。これは、クラスから継承しないが、isinstance()およびissubclass()関数によって認識される