C#的重写与多态

本文探讨了C#中的重写概念,作为类成员的纵向扩展,使得子类能够改变父类的行为。通过示例展示了如何使用`virtual`和`override`关键字进行方法重写,并解释了不使用这些关键字时的隐藏行为。此外,文章还阐述了多态的原理,即通过父类引用调用子类实例的方法,确保调用到的是子类中最新的重写版本。同时,多态允许在父类数组中存储子类对象,增强了代码的灵活性。
摘要由CSDN通过智能技术生成

重写:类成员的纵向扩展

重写也就是,继承的不同方面,即子类对父类的纵向扩展。
(行为改变了,且版本增高了)

下面的例子中,同样有方法Run,但引用Vehicle和引用Car两种实例的时候,打印出来的语句是不一样的。也就是说,用不同类型实例调用方法的时候,与实例相关联的版本就会被调用
  例如:

static void Main(string[] args)
        {
   
            var car = new Car();
            car.Run();
            var v = new Vehicle();
            v.Run();
        }
        class Vehicle
        {
   
            public virtual void Run(
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值