1
2
3
4
5
6
  • AR开发
7
8
  • 系统优化与发布

继承

发布时间:2021-02-26 22:36   发布人:焦卫峰   浏览次数:368

1.继承

继承有两种截然不同的继承类型:类继承和接口继承。

类继承:表示一个类型派生于一个基类型,拥有该基类型的所有成员字段和函数。在类继承中,派生类的每个函数采用基类的实现代码,除非在派生类型的定义中重写该函数。

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

类的修饰符 class 类名{

          类的成员(字段、属性、方法)

}

类的修饰符 class 类名:父类名 //只能是一个

类的修饰符 class 类名:父类名 /*只能是一个,可以没有*/,接口名/*可以是多个*/

一个类只能有唯一的一个父类,而不能同时继承多个。但是可以继承多个接口。

 

继承可以重用代码,实现软件模块的可复用性和可扩充性。

新定义的派生类(子类)可以继承已有的基类(父类)的特征(字段&属性)和能力(方法),而且可以加入新的特性或者修改已有的特性。

2.protected

在派生类中不能使用基类的私有成员。

protected 成员虽然不能被外界使用,但可以被派生类使用。

3.构造函数的执行顺序

一个类如果不声明构造函数,c#将自动生成默认的构造函数;一旦声明构造函数,不产生默认的构造函数。

1)调用派生类的构造函数时,首先调用其基类的构造函数,一直到Object为止。

2)不管派生类上使用默认或者是非默认的构造函数,一般都要调用基类的默认构造函数。

3)定义类时如果要定义构造函数,必须显式定义一默认的构造函数。

4)base关键字可以指定调用基类中具有指定参数的构造函数,它放在构造函数的后面。

public B():base(5){

}

4.Base关键字

调用父类的构造函数(:base())

调用父类的成员(base.函数名称(),this.函数名称())