C#中base关键字在继承中起到非常重要的作用。它与this关键字相比,this关键字代表当前实例。base关键字代表父类,使用base关键字可以调用父类的构造函数、属性和方法。
使用base关键字调用父类构造函数的语法如下:
子类构造函数:base(参数列表)
使用base关键字调用父类方法的语法如下:
base.父类方法();
@H_404_9@using System ;
@H_404_9@class Teacher//老师类
{
@H_404_9@public Teacher()//构造函数1
{
Console.WriteLine ("我是一位教师。");
}
@H_404_9@public Teacher(@H_404_9@string str)//构造函数2
{
Console.WriteLine ("老师,"+str);
}
@H_404_9@public @H_404_9@void OutPut()//自定义方法
{
Console.WriteLine ("输出方法");
}
@H_404_9@private @H_404_9@string name;
@H_404_9@public @H_404_9@string Name//属性
{
@H_404_9@get{@H_404_9@return @H_404_9@this.name;}
@H_404_9@set{@H_404_9@this.name=value;}
}
@H_404_9@public @H_404_9@void getName()
{
Console.WriteLine ("我的名字是"+name);
}
}
@H_404_9@class Jack:Teacher
{
@H_404_9@static @H_404_9@string hello="你好";
@H_404_9@public Jack():@H_404_9@base(hello)//子类的构造函数继承的为父类第二个构造函数,注意写法
{
}
@H_404_9@public @H_404_9@void myOutPut()//自定义函数
{
@H_404_9@base.OutPut ();//引用父类的函数
}
@H_404_9@public @H_404_9@string myName//自定义属性
{
@H_404_9@get{@H_404_9@return @H_404_9@base.Name ;}
@H_404_9@set{@H_404_9@base.Name ="刘"+value;}
}
}
@H_404_9@class Test
{
@H_404_9@static @H_404_9@void Main()
{
Jack j=@H_404_9@new Jack ();//输出“老师,你好”
j.myOutPut ();//输出"输出方法"
j.myName ="德华";
j.getName ();//输出“刘德华”
}
}
注意:base()调用父类构造函数时,不需要再次指定参数的类型,因为在子类中已经定义了这些参数,在base()中只需指定变量名即可,参数的类型必须和父类中的一致。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。