c#允许定义方法时不写方法体,不包含方法体的方法为抽象方法,抽象方法必须使用abstract关键字来修饰。当一个类中包含了抽象方法,该类必须使用abstract关键字来修饰,为抽象类。抽象类可以不包含抽象方法。抽象类不可以被实例化,因为抽象类中可能包含抽象方法,抽象方法没有方法体,不可以被调用。需创建一个子类,在子类中实现抽象类的抽象方法。方法,属性,事件,索引,可以声明为抽象的。
当一个抽象类中的所有方法都是抽象的,就可以定义为接口,需要使用interface关键字来声明。需要在接口名前加大写的I。接口中定义的方法和变量都包含一些默认修饰符为public。接口中的所有方法都是抽象的,因此接口不能被实例化。一个类可以实现多个接口,被实现的多个接口之间要用逗号隔开。一个接口可以继承多个接口,接口之间用逗号隔开。类继承是单继承,接口是多继承。