c#を攻略しよう

c#

抽象クラス

抽象クラスは、抽象クラスを継承するすべての派生クラスで共通して実装する中身のない抽象メソッドを定義して、派生クラスに、その抽象メソッドの実装を強制します。
  説明文だけでは、分かりにくいと思いますので、「百聞は一見にしかず」、次のサンプルプログラムでイメージを掴んで下さい。

[TOP]

 

abstract class Kihon
{
    public abstract void print( ); // 抽象メソッド
    public void input( )
    {
        // inputメソッドのコード
    }
}

class Hasei : Kihon
{
    int a;
    public void print( )
    {
        // printメソッドのコード
    }
}

class main_program
{
   public static void Main( ){
       Hasei pri = new Hasei( );
       pri.print( );
    }
}

抽象クラスを定義する際は、先頭に「abstract」と宣言します。
抽象クラスの中で定義する抽象メソッドには、中身を記述せず、「abstract」と宣言します。
メソッドの中身は、抽象クラスの派生クラスで記述します。

基本クラスとなる抽象クラスで定義した抽象メソッドの実装を、派生クラスに強制し、メソッドの内容は派生クラスで記述します。
基本クラスを継承するすべての派生クラスで、必ず実装させたい機能がある場合に利用します。

ちなみに、基本クラスで定義したメソッドを、その派生クラスで再定義することをオーバーライドと言います。
抽象メソッドをもつクラスは、必ず抽象クラスにしなければなりません。

戻る

※当サイトは、リンクフリーです。