C#中base关键字-调用父类成员

C#中base关键字在继承中起到非常重要的作用。它与this关键字相比,this关键字代表当前实例。base关键字代表父类,使用base关键字可以调用父类的构造函数、属性和方法。

使用base关键字调用父类构造函数的语法如下:

子类构造函数:base(参数列表)

使用base关键字调用父类方法的语法如下:

base.父类方法();

using System ;

class Teacher//老师类

{

public Teacher()//构造函数1

{

Console.WriteLine ("我是一位教师。");

}

public Teacher(string str)//构造函数2

{

Console.WriteLine ("老师,"+str);

}

publicvoid OutPut()//自定义方法

{

Console.WriteLine ("输出方法");

}

privatestring name;

publicstring Name//属性

{

get{returnthis.name;}

set{this.name=value;}

}

publicvoid getName()

{

Console.WriteLine ("我的名字是"+name);

}

}

class Jack:Teacher

{

staticstring hello="你好";

public Jack():base(hello)//子类的构造函数继承的为父类第二个构造函数,注意写法

{

}

publicvoid myOutPut()//自定义函数

{

base.OutPut ();//引用父类的函数

}

publicstring myName//自定义属性

{

get{returnbase.Name ;}

set{base.Name ="刘"+value;}

}

}

class Test

{

staticvoid Main()

{

Jack j=new Jack ();//输出“老师,你好”

j.myOutPut ();//输出"输出方法"

j.myName ="德华";

j.getName ();//输出“刘德华”

}

}

注意:base()调用父类构造函数时,不需要再次指定参数的类型,因为在子类中已经定义了这些参数,在base()中只需指定变量名即可,参数的类型必须和父类中的一致。