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#中一个重要的关键字,用于实现多态性和属性的多态性。

posted @   甜饼怪2030  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示