C# 参考之访问关键字:base、this
在C#开发中,我们经常需要使用到 base
和 this
这两个关键词来访问父类和当前类的成员。本文将深入介绍 base
和 this
关键字的用法和注意事项。
访问父类成员
base
关键字用于访问父类中定义的成员,包括字段,方法和属性。在子类中,如果存在一个和父类同名的成员,我们可以使用 base
关键字来调用父类的成员。
示例一
public class MyBaseClass
{
public virtual void SayHello()
{
Console.WriteLine("Hello from MyBaseClass");
}
}
public class MyDerivedClass : MyBaseClass
{
public override void SayHello()
{
base.SayHello(); // 调用父级的SayHello方法
Console.WriteLine("Hello from MyDerivedClass");
}
}
在上面的示例中,MyDerivedClass
类继承自 MyBaseClass
类,并重写了 SayHello
方法。在 MyDerivedClass.SayHello
方法中,通过 base.SayHello()
调用了父类 MyBaseClass
的 SayHello
方法。
示例二
public class MyBaseClass
{
public string Name { get; set; }
public MyBaseClass(string name)
{
this.Name = name;
}
}
public class MyDerivedClass : MyBaseClass
{
public MyDerivedClass(string name) : base(name)
{
}
public void ShowName()
{
Console.WriteLine(base.Name); //访问父类的成员
}
}
在上面的示例中,MyDerivedClass
类继承自 MyBaseClass
类,并且在构造函数中通过 : base(name)
显式调用了父类的构造函数。在 MyDerivedClass.ShowName
方法中,通过 base.Name
访问了父类的成员.
访问当前类成员
this
关键字用于访问当前类中定义的成员,包括字段,方法和属性。在同一个类中,如果存在一个和当前成员同名的成员,我们可以使用 this
关键字来区分。
示例三
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
this.Name = name;
}
public void ShowName()
{
Console.WriteLine(this.Name); //访问当前类的成员
}
}
在上面的示例中,this.Name
引用了当前类的 Name
成员。
示例四
public class MyClass
{
private int age;
public MyClass(int age)
{
this.age = age;
}
public void SetAge(int age)
{
this.age = age; //访问当前类的成员
}
}
在上面的示例中,this.age
引用了当前类的 age
成员。
总结:在 C# 中,使用 base
和 this
关键字能够方便地访问父类成员和当前类成员,避免同名成员产生的冲突,提高代码的可读性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 参考之访问关键字:base、this - Python技术站