1、继承的类型
1.1实现继承和接口继承:
a:实现继承:一个类型号派生于一个基类型,它拥有基类型所有的成员字段和函数。派生类型实现基类型的实现代码。除派生类中定义重写某个函数的实现代码。
b:接口继续:一个类型只继续函数,没有任何实现代码:
1.2多重继续:
一个类派生自多个类。以#不支持多重实现继续,只允许类型派生自多个接口。
1.3结构和类。
结构总是派生自System.ValueType,它可以派生自任意多个接口。
类总是派生自用户选择的另一个类,它们还可以派生自任意多个接口。
2.实现继续。
class Myclass:MybaseClass{}
public class Myclass:myBaseClass,IInterface1,IInterface2{}
public struct myderivedstruct:IInteface1{}
2.虚方法:把一个基类函数声明为Virtual。也可以把属性声明为Virtual.c#要求派生类的函数重写另一个函数。时要使用Override关键字显示声明。
class MyClass
{
public virtual string VirtualMethod()
{}
}
class Myfirstclass:MyClass
{public override stirng Virtualmethod(){}
}
2.2b隐藏方法:如果派生类与基类中都有相同的方法。派生类就会隐藏基类中的方法。
2.3调用程序的基类版本。虚拟方法。可以使用base.<methodName>()调用基类中的任何方法。
2.4抽象类与抽象函数。
C#允许把类和函数声明为sbstact,抽象类不能实例化,抽象函数不能直接实现。必须在非抽象的派生类中重写。抽象函数也是虚拟的。
abstract class building{ public abstract decimal calc()}
2.5密封类与密封方法: C#允许把类和方法声明为sealed.对于类表示不能继续该类,对于方法,表示不用重用方法。
sealed class finalclass{}