手机
当前位置:查字典教程网 >编程开发 >C#教程 >C# 参考之访问关键字:base、this
C# 参考之访问关键字:base、this
摘要:basebase关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。基类访问只能...

base

base关键字用于从派生类中访问基类的成员:

调用基类上已被其他方法重写的方法。

指定创建派生类实例时应调用的基类构造函数。

基类访问只能在构造函数、实例方法或实例属性访问器中进行。

示例:

在派生类中调用基类方法。

//base关键字

//访问基类成员

usingSystem;

publicclassBaseClass

{

protectedstring_className="BaseClass";

publicvirtualvoidPrintName()

{

Console.WriteLine("ClassName:{0}",_className);

}

}

classDerivedClass:BaseClass

{

publicstring_className="DerivedClass";

publicoverridevoidPrintName()

{

Console.Write("TheBaseClassNameis{0}");

//调用基类方法

base.PrintName();

Console.WriteLine("ThisDerivedClassis{0}",_className);

}

}

classTestApp

{

publicstaticvoidMain()

{

DerivedClassdc=newDerivedClass();

dc.PrintName();

}

}

/**//*

控制台输出:

TheBaseClassNameisBaseClass

ThisDerivedClassisDerivedClass

*/

在派生类中调用基类构造函数。

//keywords_base2.cs

usingSystem;

publicclassBaseClass

{

intnum;

publicBaseClass()

{

Console.WriteLine("inBaseClass()");

}

publicBaseClass(inti)

{

num=i;

Console.WriteLine("inBaseClass(int{0})",num);

}

}

publicclassDerivedClass:BaseClass

{

//该构造器调用BaseClass.BaseClass()

publicDerivedClass():base()

{

}

//该构造器调用BaseClass.BaseClass(inti)

publicDerivedClass(inti):base(i)

{

}

staticvoidMain()

{

DerivedClassdc=newDerivedClass();

DerivedClassdc1=newDerivedClass(1);

}

}

/**//*

控制台输出:

inBaseClass()

inBaseClass(1)

*/

注意点

从静态方法中使用base关键字是错误的。

base主要用于面向对象开发的对态这方面,在示例2中有体现。

this

this关键字引用类的当前实例。

以下是this的常用用途:

限定被相似的名称隐藏的成员

将对象作为参数传递到其他方法

声明索引器

示例:

综合示例。

//this关键字

//keywords_this.cs

usingSystem;

classEmployee

{

privatestring_name;

privateint_age;

privatestring[]_arr=newstring[5];

publicEmployee(stringname,intage)

{

//使用this限定字段,name与age

this._name=name;

this._age=age;

}

publicstringName

{

get{returnthis._name;}

}

publicintAge

{

get{returnthis._age;}

}

//打印雇员资料

publicvoidPrintEmployee()

{

//将Employee对象作为参数传递到DoPrint方法

Print.DoPrint(this);

}

//声明索引器

publicstringthis[intparam]

{

get{return_arr[param];}

set{_arr[param]=value;}

}

}

classPrint

{

publicstaticvoidDoPrint(Employeee)

{

Console.WriteLine("Name:{0}nAge:{1}",e.Name,e.Age);

}

}

classTestApp

{

staticvoidMain()

{

EmployeeE=newEmployee("Hunts",21);

E[0]="Scott";

E[1]="Leigh";

E[4]="Kiwis";

E.PrintEmployee();

for(inti=0;i<5;i++)

{

Console.WriteLine("FriendsName:{0}",E[i]);

}

Console.ReadLine();

}

}

/**//*

控制台输出:

Name:Hunts

Age:21

FriendsName:Scott

FriendsName:Leigh

FriendsName:

FriendsName:

FriendsName:Kiwis

*/

【C# 参考之访问关键字:base、this】相关文章:

C# dynamic关键字的使用方法

C# 的关键字详细介绍

c#基础学习之多态

C# Dynamic关键字之:解析dynamic就是Object

浅析c#范型中的特殊关键字where & default

C#中fixed关键字的作用总结

C# DataGridView添加新行的2个方法

C# 屏蔽关键字的实现方法

C# WinForm程序完全退出的问题解决

Question:基于C#连续赋值的面试题介绍

精品推荐
分类导航