2_virtual关键字的作用
virtual作用?
virtual关键字用于修改方法、属性、索引器或事件声明,并使它们可以在派生类中被重写(使用override关键字对虚方法重写)。 如下是虚方法声明和重写虚方法的示例:
声明虚方法
public class Animal
{
public virtual void Speak()
{
Console.WriteLine("动物叫声");
}
}
public class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("汪汪");
}
}
public class Cat : Animal
{
public override void Speak()
{
Console.WriteLine("喵喵");
}
}
示例说明:
-
Animal类中声明了一个虚方法Speak(),该方法用于定义动物的叫声。 -
Dog类和Cat类继承自Animal类,并分别重写了Speak()方法,以实现不同的叫声。
总结:
-
virtual关键字用于声明虚方法,允许在派生类中重写基类中的方法,从而实现多态性。 -
多态性是指同一个方法可以根据对象的实际类型执行不同的操作。
声明虚属性
此外,virtual关键字还可以用于声明虚属性。虚属性允许在派生类中重写基类中的属性,从而实现属性的多态性。
示例代码:
public class Animal
{
public virtual string Name { get; set; }
}
public class Dog : Animal
{
public override string Name
{
get { return "狗"; }
set { }
}
}
public class Cat : Animal
{
public override string Name
{
get { return "猫"; }
set { }
}
}
示例说明:
Animal类中声明了一个虚属性Name,该属性用于获取或设置动物的名字。Dog类和Cat类继承自Animal类,并分别重写了Name属性,以实现不同的名字。
总之,virtual关键字是C#中一个重要的关键字,用于实现多态性和属性的多态性。

浙公网安备 33010602011771号