C#的动态多态性
前言
在C#中的面向对象的三大原则为:封装、继承、多态。其中多态分为静态多态性和动态多态性。
静态多态性: 在编译时实现,有两种方法:函数重载和运算符重载。
动态多态性: 在运行时实现,有两种方法:虚函数和抽象类。
今天讨论的虚方法、抽象方法、抽象类以及接口都是以多态为基础的,在C#中多态就是通过虚方法、抽象类、接口这三种方式来实现的。
一、虚方法
- 定义:项目存在于相对需要实现多态的子类的父类中,同时也是最基本的实现多态的方法。
- 语法:在父类中用virtual关键字生命的方法在子类中用override可以重写,就是虚方法。
- 举个经典的栗子
//父类
class Animal
{
public Animal()
{
}
public virtual void Call()
{
Console WriteLine("动物叫");
}
}
//子类
class Cat:Animal
{