动态多态性

本文详细介绍了动态多态性在编程中如何通过虚方法和抽象类实现,包括虚方法的定义、抽象类的作用以及子类对抽象方法的重写过程。以C#为例,展示了如何在实际代码中运用这些概念。
摘要由CSDN通过智能技术生成

多态性分为静态多态性动态多态性,而今天给大家讲一下动态性多态;首先动态多态性是通过虚方法抽象类去实现的。

虚方法

当父类有一个方法需要在继承的类实现时候,可以使用虚方法。虚方法通过使用virtual来进行定义。而虚方法可以再不同的类里面有不同的实现并是在运行的时候发生的;而虚方法就是动态多态性的一个体现。例如下图所示:

抽象类

抽象类就是使用abstract来定义的,但是只是用来列举一个类所具备的行为,不能通过new创建对象但可以有抽象方法,只有声明部分没有实现部分;当然抽象类里面也可有普通方法但不能是static(静态)也不能是sealed(密封)。

定义抽象的方法:

  1. 只能定义在抽象类里面,在方法前面添加abstract进行修饰
  2. 只有声明部分 没有实现部分
  3. 抽象方法在子类被实现 需要在子类的方法前面添加overrider关键字
  4. 子类必须重写所有的父类的抽象方法,除非子类也是抽象类

例如下图所示:

 方法的调用:

当以上代码被执行时,会产生以下结果:

我是艾西,技能是:冰霜降临,职业是ADC
ADC吃河蟹兵线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值