C#中基于继承的多态是如何实现的。

C#支持基于接口的多态和基于继承的多态。

今日简单地学了下基于继承的多态,大致内容如图所示。

来说说基于继承的多态是如何实现的?

首先,要知道如何重写父类方法。

重写父类方法就是修改它的实现,或者就是在子类中对继承的父类方法重新编写。

在父类中用“virtual”关键字声明的方法(俗称虚拟方法),在子类中可以重写。

例如我们在上一章的Person类上定义一个虚拟方法:

        public virtual void Dispaly()
        {
            Console.WriteLine("姓名:{0},性别:{1},年龄:{2}", this._name, this._gender, this._age);
        }

子类中使用“override”关键字声明重写,来实现对父类中的虚拟方法修改或者重新编译。

例如在上一章的Student类上重新Person类的Dispaly方法:

        //重写父类的Dispaly的虚拟方法。
        public override void Dispaly()
        {
            Console.WriteLine("Student子类重写父类的方法。");
        }

或者新建一个Tercher类,继承Person类,重写并调用Dispaly方法:

    public class Terchar : Person
    {

            public override void Dispaly()
            {
                Console.WriteLine("Tercher子类重写并调用父类的方法");
                base.Dispaly();  //调用父类的Dispaly方法显示。
            }
       
    }

注意:多态和重写是紧密联系的,子类重写方法的访问权限和父类的虚拟方法的访问权限必须一致。

这里建议可以学习下函数的重载以及动态多态性:C#多态性 | 菜鸟教程

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值