C#--抽象类、抽象方法、多态机制

父类与子类的互换

分别给子类添加方法

C#--抽象类、抽象方法、多态机制

C#--抽象类、抽象方法、多态机制

父类可以添加子类对象,子类自动转换成父类类型
取出时必须判断属于哪一个类对象,父类类型的对象必须强制转换成对应类对象,才能调用子类的方法。

C#--抽象类、抽象方法、多态机制

C#--抽象类、抽象方法、多态机制

根据面向对象的 “开-闭”原则可知: 软件功能扩展时应该增加类,而尽可能的减少类的修改,那该如何解决呢? 因此需要用到抽象类与抽象方法


抽象类与抽象方法

父类添加关键字

C#--抽象类、抽象方法、多态机制

子类用override重写父类未实现的方法

C#--抽象类、抽象方法、多态机制

C#--抽象类、抽象方法、多态机制

程序自动调用对应子类的实现方法
这种特性就是面向对象中的‘多态’,可以很好解决系统扩展问题

C#--抽象类、抽象方法、多态机制

C#--抽象类、抽象方法、多态机制