一、继承的类型 1.声明派生自另一个类的一个类 class MyDerivedClass:MyBaseClass { } 类同时派生自接口 public class MyDerivedClass:MyBaseClass,IInterface1,IInterface2 { } 注:结构不能继承,但可以实现接口。 2.虚方法 把一个基类中的方法声明为virtual,就可以在任何派生类中重写该方法用override。 成员字段和静态函数不能声明为virtual,因为这个概念只对类中的实例函数成员有意义。 3.隐藏基类方法 如果签名相同的方法在基类和派生类中都进行了声明,但该方法没有分别声明为vitual和overrid,而在子类中使用了new,子类就会隐藏基类方法。 4.调用函数的基类版本 c#中允许从派生类中调用基类中的方法:base.<方法名>(). 5.密封类和密封方法 c#允许把类和方法声明为sealed.对于类,这表示不能继承该类;对于方法,这表示不能重写该方法。 二、接口 1.接口的定义与实现 public interface MyInterface { void myFunc(); } class MyClass:MyInterface { public void myFunc() { etc } } 注:接口中不允许提供任何成员的实现的方式。接口只能包含方法、属性、索引器和事件的声明。 不能实例化接口,他只能包含其他成员的签名。接口不能有构造函数和字段。接口中成员不允许有修饰符。