base 关键字用于从派生类中访问基类的成员。使用它可以:
- 调用基类上已被另一个方法覆盖(override)的方法。
- 指定在创建派生类的实例时应该调用基类的构造函数。
基类访问只允许在构造函数、实例方法和实例属性访问器中进行。
在静态方法中使用 base 关键字会产生错误。
被访问的基类是类声明中指定的基类。例如,如果指定 class ClassP : ClassJ
,则无论 ClassJ 的基类是什么,都可以从 ClassP 访问 ClassJ 的成员。
调用基类的方法
首先定义一个基类 RenWu,包括一个虚拟方法,获取人物的信息:
public class RenWu
{
protected string BianHao = "123-45-6789";
protected string XingMing = "大活人";
public virtual void FF获取信息 ( )
{
Console . WriteLine ( $"姓名:{XingMing}" );
Console . WriteLine ( $"编号:{BianHao}" );
}
}
定义一个派生类 GuKe,重写了基类的 FF获取信息,以获取顾客的信息:
public class GuKe : RenWu
{
public string ID = "987-65-4321";
public override void FF获取信息 ( )
{
base . FF获取信息 ( );
Console . WriteLine ( $"顾客 ID:{ID}" );
}
}
执行下列语句:
{
GuKe Q = new ( );
Q . FF获取信息 ( );
}
获得如下信息:
姓名:大活人
编号:123-45-6789
顾客 ID:987-65-4321
调用基类的构造函数
首先定义基类,包括两个构造函数(无参数和一个参数 z):
public class JiLei
{
int Num;
public JiLei ( )
{
Console . WriteLine ( $"基类中没有数据" );
}
public JiLei ( int z )
{
Num = z;
Console . WriteLine ( $"基类中有数据:{Num}" );
}
}
创建一个派生类调用基类的构造函数作为自己的构造函数:
public class PSLei : JiLei
{
// 构造函数调用基类的无参数构造函数
public PSLei ( ) : base ( ) { }
// 构造函数调用基类的有参数构造函数
public PSLei ( int z ) : base ( z ) { }
}
下列代码:
PSLei P = new ( );
PSLei P1 = new ( 1 );
将产生:
基类中没有数据
基类中有数据:1
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。