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号