C# 继承

发布时间:2024年01月11日

1,继承类型

????????继承的类型:实现继承和接口继承

? ? ? ? ?实现继承:

? ? ? ? ? ? ? ? ? ? ? ?表示一个类型派生于一个基类型,拥有改类型的所有成员字段和函数。

? ? ? ? ?接口继承:

? ? ? ? ? ? ? ? ? ? ? ? 表示一个类型只继承了函数函数签名,没有继承任何实现代码。

2,继承实现

3,访问修饰符

????????虚方法:

? ? ? ? ? ? ? ? ? ? ? ? 使用 virtual 修饰符。虚方法可以被重写,重写使用override重写虚方法。

? ? ? ? 隐藏方法:

? ? ? ? ? ? ? ? ? ? ? ? 如果签名相同的方法在派生类和基类都有声明,但该方法没有分别声明为virtual和override,派生类方法就会隐藏基类方法。

????????调用函数的基类版本:

? ? ? ? ? ? ? ? ? ? ? ? 从派生类中调用方法的基础版本:base<MethodName>()。可以使用base<MethodName>()语法调用基类中的任何方法,不必从同一个方法的重载中调用。

???????抽象类和抽象函数:

? ? ? ? ? ? ? ? ? ? ? ? abstract修饰符把类和函数声明为抽象类型。抽象类不能实例化,抽象函数不能直接实现,必须在非抽象来的派生类中重写。

????????密封类和密封函数:

? ? ? ? ? ? ? ? ? ? ? ? scaled修饰符把类和方法声明为密封类型。密封的类不能被继承,方法不能被重写。

? ? ? ? ? 修饰符:

修饰符应用于说明
public所有类型或者成员任何代码均可访问该项
protrected类型和内嵌类型的所有成员只能派生的类型能访问该项
interral所有类型或者成员只能在它包含的程序集中访问该项
private类型和内嵌类型的所有成员只能在它包含的程序集中访问该项
protected interral类型和内嵌类型的所有成员只能在它包含的程序集和派生类型的任何代码中访问该项

? ? ? ? 其他修饰符:

修饰符应用于说明
new函数成员成员用相同的签名隐藏继承的成员
static所有成员成员不作用于类的具体实例
virtual仅函数成员成员可以由派生类重写
abstract仅函数成员虚拟成员定义了成员签名,但没有提供实现代码
override仅函数成员成员重写了继承的虚拟或抽象成员

4,接口

? ? ? ? ? ? ? ? ? ? ? ? 声明接口和声明抽象类型完全相同,声明接口使用修饰符 interface。接口不允许提供接口中任何成员的实现方式。

? ? ? ? ? ? ? ? ? ? ? ? 接口只能包含:方法,属性,索引器,事件。

? ? ? ? ? ? ? ? ? ? ? ? 接口不能实例化,只能包含其成员的签名。接口不能有构造函数,也不能有字段。接口定义也不允许包含运算符重载。

? ? ? ? ? ? ? ? ? ? ? ? 接口可以彼此继承,继承方法和类的继承方式相同。

文章来源:https://blog.csdn.net/yunxianpiaoyu/article/details/135521018
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。