1.多态是指两个或多个属于不同类的对象,对于同一个消息(方法调用)做出不同的响应的方式。
2.使用抽象类和抽象方法实现多态
语法: 访问修饰符 abstract 返回类型 方法();
抽象方法是一个没有实现的方法;
抽象方法不能被实例化;
抽象方法不能是密封或静态的;
抽象方法必须在其子类中实现,,除非它的子类也是抽象类;
在子类使用override重写实现父类的抽象方法。
3.使用虚方法实现多态
使用virtual关键字修饰方法,虚方法可以有具体的实现也可以被重写。
语法: 访问修饰符 virtual 返回类型 方法();
虚方法在父类提供了默认的实现,可以在子类重写也可以不重写。
4.里氏替换原则
(1.)is操作符
检查对象是否与给定的类型相同;如果所提供的对象可以强制转换为提供的类型而不会导致引发异常,则is表达式的结果为true。转换失败会产生异常。
(2.)as操作符
用于两个对象之间的类型转换 当转换失败时 运算符将产生空 而不是引发异常
5.面向对象的三大特性总结:
(1.)封装:保证对象自身数据的完整性和安全性
(2.)继承:建立类之间的关系,实现代码复用,方便系统扩展
(3.)多态:相同的方法调用可实现不同的实现方式