简述
抽象类作为父类,含有抽象方法和一般方法,一般方法调用该抽象方法。子类重写父类的抽象方法以提供具体实现,但是不要覆盖父类的一般方法。意义在于:父类(抽象类)中的某个方法确定了基本实现逻辑(子类共有,不应该覆盖),但依赖类中的抽象方法,而将抽象方法的实现延迟到子类(况且父类作为抽象类也无法实例化)。
using System;
interface IA
{
void Method(
string message);
}
abstract class baseClass : IA
{
public abstract void Method(
string message);
public void Print(
string message)
{
Method(message);
}
}
class C : baseClass
{
public override void Method(
string message)
{
Console.WriteLine(
"class C, message:{0}", message);
}
}
public class Test
{
public static void Main()
{
C c =
new C();
c.Print(
"Hello");
}
}
输出结果:
class c, message:Hello