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);
}
public void OutPut()//自定义方法
{
Console.WriteLine ("输出方法");
}
private string name;
public string Name//属性
{
get{return this.name;}
set{this.name=value;}
}
public void getName()
{
Console.WriteLine ("我的名字是"+name);
}
}
class Jack:Teacher
{
static string hello="你好";
public Jack():base(hello)//子类的构造函数继承的为父类第二个构造函数,注意写法
{
}
public void myOutPut()//自定义函数
{
base.OutPut ();//引用父类的函数
}
public string myName//自定义属性
{
get{return base.Name ;}
set{base.Name ="刘"+value;}
}
}
class Test
{
static void Main()
{
Jack j=new Jack ();//输出“老师,你好”
j.myOutPut ();//输出"输出方法"
j.myName ="德华";
j.getName ();//输出“刘德华”
}
}
注意:base()调用父类构造函数时,不需要再次指定参数的类型,因为在子类中已经定义了这些参数,在base()中只需指定变量名即可,参数的类型必须和父类中的一致。
分享到:
相关推荐
base关键字的使用base关键字的使用
主要介绍了C#中子类调用父类的实现方法,通过实例逐步分析了类中初始化构造函数的执行顺序问题,有助于加深对C#面向对象程序设计的理解,需要的朋友可以参考下
如果一个类继承一个父类,那么子类会拥有父类所规定的所以成员 子类还可以拥有父类没有的独有成员 父类可以完成的任务,子类对象也可以完成 子类可以调用父类Person p= new student(); 声明父类变量,实例化子类...
c#中的关键字(共76个),归纳整理的相当详细
使用.netcore5.0框架,支持windows10, 程序免注册调用大漠插件,WinForm调用大漠插件dm.dll。实现找字、找图、截图、打字等功能。
C#关键字整理,包含C#中的所有的关键字
C#中的47个关键字的总结,适于新手学习。
C#调用谷歌翻译接口,C#版根据tkk计算tk算法,不调用js算法.直接调用谷歌web翻译,http post调用
C# 写的网页获取百度,谷歌关键字排名查询方法,通过抓取网页页面,进行分析
注意:不能从静态方法中使用base关键字,base关键字只能在实例构造函数、实例方法或实例访问器中使用。 例:访问关键字this和base关键字示例;创建基类Person,包含两个数组成员name和age、一个具有两个参数的构造...
利用C#反射将子类舍弃多余的属性转换为父类,用途比较少。
C#的New关键字的几种用法 运算符 修饰符 约束
C# 不安全代码关键字:unsafe、C# 关键字const 和 readonly、C# 关键字extern用法、C#关键字Fixed、C#关键字IntPtr、C#关键字之override详解、C#中DllImport用法汇总、C#中的IntPtr
实现了用C#调用一言API,并通过字符串筛选提取关键字,筛选出句子与作者,并实现了可以显示自定义类别句子的功能!
本教程说明使用什么方法才能从 C# 调用非托管 DLL 函数。该教程所讨论的属性允许您调用这些函数并使数据类型得到正确封送。
将CSharp中所有关键字 整理并附说明
C#在链接mysql数据库的时候 间歇性的会出现 打开链接的时候会报错. 调整mysql.data.dll 链接驱动版本. 将程序引用dll,替换为上传压缩包中的dll
C#的关键字大全,里面内置链接,可以直接点击查看,链接MSDN