c#中的继承

一.c#中继承分为实现继承和接口继承两种:

1.实现继承:表示一个类型派生于一个基类,这个类拥有基类所有的成员字段和函数。在实现继承中,派生类型采用基类的每个函数的实现代码,除非在派生类型的定义中指定重写某个函数的实现代码。在需要给现有的类型添加功能,或者多相关的类型共享一组重要的公共功能时,这种类型的继承是非常有用的。c#中每个类只可以继承一个基类。

2.接口继承:表示一个类型只继承函数的签名,没有继承任何实现代码。在需要指定该类型具有某些可用的特性时,最好使用这种类型的继承。c#中每个类可以实现多个接口。

二.结构和类的继承:

1.结构派生自System.ValueType,它不支持实现继承,但支持接口继承。

2.类派生自用户选中的另一个类,还可以派生自任意多个接口。

三.继承示例:

1.声明一个类派生自另一个类

代码:

calss MyClass:MyBaseClass{ //MyClass类派生MyBaseClass

//这里写需要实现的代码

}

2.1.结构派生自多个接口,接口之间用逗号隔开

实现代码:

Public sturct MyClass:IInterface1,IInterface2{

//etc

}

2.2类派生一个基类和多个接口

实现代码:

calss MyClass:MyBaseClass,IInterface1,IInterface2{

//etc

}

四.虚方法:把一个基类函数声明为virtual,让任何派生类重写该函数

实现代码:

class MyBaseClass{ //基类

public virtual  string VirtualMethod(){ //声明一个虚方法

return "这是一个虚方法"

}

}

calss MyClass:MyBaseClass{ //MyClass类派生MyBaseClass基类

public override string VirtualMethod(){ //重写基类的虚方法 ,重写基类的方法要用override

return "我重写了MyBaseClass基类中的VirtualMethod()方法";

}

}

原文地址:https://www.cnblogs.com/lxjie/p/3158695.html