C# 继承的用法介绍
基本语法
在C#中,我们可以使用关键字":"(冒号)来指定一个类从另一个类继承。下面是继承的基本语法:
class ChildClass : ParentClass
{
// 子类的成员和方法
}
在上面的例子中,ChildClass是从ParentClass继承而来的子类。子类可以继承父类的所有非私有成员和方法,包括字段、属性、方法和事件等。
访问修饰符
在继承中,成员和方法的访问修饰符起到了重要的作用。C#中有五种访问修饰符:public、protected、internal、protected internal和private。它们分别表示公共的、受保护的、内部的、受保护的内部的和私有的。下面是这些修饰符在继承中的作用:
- public:公共的成员和方法可以在子类中被访问和重写。
- protected:受保护的成员和方法只能在父类和子类中被访问和重写,不能在其他类中被访问。
- internal:内部的成员和方法只能在同一个程序集中被访问和重写。
- protected internal:受保护的内部的成员和方法可以在同一个程序集中的子类中被访问和重写。
- private:私有的成员和方法不能在子类中被访问和重写。
构造函数的继承
在C#中,子类默认会继承父类的构造函数。当创建子类的实例时,会先调用父类的构造函数,然后再调用子类自己的构造函数。如果子类没有显式定义构造函数,那么会使用父类的默认构造函数。
如果子类定义了自己的构造函数,那么可以使用关键字"base"来调用父类的构造函数。下面是一个示例:
class ParentClass
{
public ParentClass()
{
Console.WriteLine("父类的构造函数被调用");
}
}
class ChildClass : ParentClass
{
public ChildClass() : base()
{
Console.WriteLine("子类的构造函数被调用");
}
}
static void Main(string[] args)
{
ChildClass child = new ChildClass();
}
运行上面的代码会输出以下结果:
父类的构造函数被调用
子类的构造函数被调用
在上面的例子中,子类ChildClass显式地调用了父类ParentClass的构造函数。如果没有使用"base"关键字,那么默认会调用父类的无参数构造函数。
方法的重写
在继承中,子类可以重写父类的方法,以实现自己特有的功能。为了重写一个方法,子类需要使用关键字"override"来标记该方法。下面是一个示例:
class ParentClass
{
public virtual void Print()
{
Console.WriteLine("免责声明:本文由用户上传,此文本数据来源于原作者,如有侵权请联系删除!转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。