C# では、抽象クラスで、メソッド 1 の実装とメソッド 2 を抽象として提供します。子クラスで method1 と method2 の両方をオーバーライドできます。次に、抽象メソッドと非抽象メソッドの違いは何ですか。
abstract class baseclass
{
public void nonabstract_method()
{
Console.WriteLine("non abstract method in base class with implementation");
}
public abstract void abstract_method();//abstract method declaration
}
class childClass1: baseclass
{
public void nonabstract_method()
{
Console.WriteLine("non abstract method in child class 1 with implementation");
}
public override void abstract_method()
{
Console.WriteLine("abstract method in child class 1 with implementation");
}
}
class childClass2 : baseclass
{
public void nonabstract_method()
{
Console.WriteLine("non abstract method in child class 2 with implementation");
}
public override void abstract_method()
{
Console.WriteLine("abstract method in child class 2 with implementation");
}
static void Main(string[] args)
{
childClass2 objClass2 = new childClass2();
objClass2.nonabstract_method();
objClass2.abstract_method();
childClass1 objClass1 = new childClass1();
objClass1.nonabstract_method();
objClass1.abstract_method();
Console.ReadLine();
}
}