浅谈C# 虚函数

一、基本介绍

        虚函数是一种在基类中声明并在派生类中重写的方法。通过使用关键字 virtual,可以定义虚函数。派生类可以根据需要重写虚函数,以提供不同的实现。

        虚函数的主要目的是实现多态性。在程序运行时,通过基类的引用或指针调用虚函数时,将根据实际对象类型执行相应的派生类方法。

定义虚函数

在C#中,你可以通过使用 virtual 关键字来定义一个虚函数。这意味着该方法可以在派生类中被重写。

public class BaseClass
{
    public virtual void Display()
    {
        Console.WriteLine("Display method of BaseClass");
    }
}

重写虚函数

在派生类中,你可以使用 override 关键字来重写基类中的虚函数。

public class DerivedClass : BaseClass
{
    public override void Display()
    {
        Console.WriteLine("Display method of DerivedClass");
    }
}

调用虚函数

当你创建派生类的对象并调用虚函数时,将根据对象的实际类型调用相应的方法。

BaseClass obj = new DerivedClass();
obj.Display();  // 输出 "Display method of DerivedClass"

密封虚函数

如果你不希望派生类重写某个虚函数,可以使用 sealed 关键字。

public class BaseClass
{
    public virtual void Display()
    {
        Console.WriteLine("Display method of BaseClass");
    }
}

public class DerivedClass : BaseClass
{
    public sealed override void Display()
    {
        Console.WriteLine("Display method of DerivedClass");
    }
}

虚函数和抽象类

虚函数通常与抽象类一起使用,抽象类是不能被实例化的类,它包含至少一个抽象方法。抽象方法是一种没有实现的方法,它必须在派生类中被重写和实现。

public abstract class BaseClass
{
    public abstract void Display();
}

public class DerivedClass : BaseClass
{
    public override void Display()
    {
        Console.WriteLine("Display method of DerivedClass");
    }
}

使用虚函数和重写是实现多态性的关键技术,它允许你在运行时根据对象的实际类型调用最合适的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CnLg.NJ

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值