一、多态简介
什么是多态?
面向对象开发的三大特征:封装、继承和多态。
在继承的前提下,实例化出不同的对象,这些对象调用相同的方法,但是却表现出不同的行为,这就叫多态。
C# 中体现多态有三种方式:虚方法;抽象类;接口
这节课咱们就来分别介绍下这三种方法在啥时候用,以及怎么使用。
二、虚方法
1.啥叫虚方法?
在父类中使用 virtual关键字 修饰的方法,就是虚方法。(virtual中文释义:虚拟的)
在子类中可以使用 override关键字 对该虚方法进行重写。(override本身就是复写,重写的意思)
父类虚方法:可用于实现该方法的共有功能(如初始化该方法),然后子类在重写该方法时,使用base关键字调用父类中的方法即可。
2.虚方法语法
class 父类名
{
//父虚方法:与普通方法的区别就是多了个virtual
public virtual 返回值类型 方法名()
{
方法代码体;
}
}
class 子类名:父类名
{
//子虚方法:与普通方法的区别就是多了个override
public override 返回值类型 方法名()
{
方法代码体;
}
}
3.使用细节
将父类方法标记为虚方法,就是在父类方法的返回值前加virtual关键字,表示这个方法可以被子类重写。
子类重写父类虚方法,只需在子类方法返回值前加override关键字。
父类中的虚方法,子类可以重写,也可以不重写。
父类虚方法