时间:2021-05-19
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();
}
}
在派生类中调用基类构造函数。
//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);
}
}
注意点
从静态方法中使用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();
}
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言用过c#的可能对yield关键字爱不释手,那么在像我这种被迫上java贼船的人,就想找到类似的功能。关于c#中的yield关键字大家可以参考这篇文章:我使用
本文实例分析了C#中var关键字用法。分享给大家供大家参考。具体方法如下:C#关键字是伴随着.NET3.5以后,伴随着匿名函数、LINQ而来,由编译器帮我们推断
一、问题描述在C#中is,as,using关键字具有其特点及使用场景,其中is关键字用于检查该对象是否与给定类型兼容,as关键字用于将对象转换为指定类型,usi
本文实例讲述了C#中参数个数可变的方法。分享给大家供大家参考。具体方法如下:要实现C#中参数个数可变关键是使用params关键字。并且,可变参数只能是所有参数中
本文实例讲述了C#接口在派生类和外部类中的调用方法。分享给大家供大家参考,具体如下:C#的接口通过interface关键字进行创建,在接口中可以包含属性,方法等