首页 > 编程 > C# > 正文

C#继承的种类

2023-05-08 19:02:34
字体:
来源:转载
供稿:网友

C# 中的继承有两种类型:

实现继承(类继承)——派生类型继承了基类型的所有成员,包括方法、属性、事件和索引的实现代码,派生类既可以直接调用基类的各种函数成员的实现代码,也可以自己编写代码来覆盖或重写它们,还可以为派生类添加新的数据和函数成员。

接口继承(非实现继承)——派生类型只继承了基类型中的函数签名(signature of a function),包括函数名、类型参数的个数、每个形参(formal parameter)的类型和种类(kind,值、引用、输出),从左到右的顺序,但是不包括函数的返回类型、参数名称、类型参数的名称、以及可对最右边的参数指定的参数修饰符。而没有继承基类型中的实现代码。接口继承主要用于指定派生类应该具有什么特性和功能。接口继承相当于接口的实现。

C++只支持实现继承,VB则只支持接口继承,C++/CLI、Java和C# 都既支持实现继承,也支持接口继承,所以非常适用于编写基于组件的分布式软件。

C# 中的结构,支持(多重)接口继承,但是不支持实现继承。即,你可以在结构中实现多个接口中定义的函数成员,但是你却不能从类或结构来派生新的结构,也不能从结构派生新的类。不过,用户定义的结构,总是自动派生于System.ValueType抽象类,还可以派生于(实现)多个接口。

C# 中的类,则支持单一实现继承和多重接口继承。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表