复习第三章多态
第三章 多态
本章需要掌握的东西
- 掌握多态的优势和应用场合
答:多态的优势可以减少代码量,更加清晰明了。,应用场合为,一个事物需要做多种事情的时候需要用到多态。
2.掌握父类和子类之间的类型转换
答:父类引用转向子类为向上转型,自动类型转换。子类引用转向父类为向下类型转换,需要强制转换。
3.掌握instanceof运算符的使用
答:这个不是很实用了解一下就OK,我了解的是 这个可以判断类型转换的东西。
4.使用父类作为返回值实现多态
答:如果要返回多个子类的值,可以使用父类作为返回值,父类包括到子类需要返回的值的话。这样比较方便。
多态性与继承,方法重写有密切相关的关系。
子类转换成父类时的规则。
将一个父类的引用指向子类叫做向上转型。自动类型转换。
此时通过父类的引用变量调用的方法是子类的覆盖或是继承父类的方法,而不是父类的方法。
此时通过父类引用变量无法调用子类的特有的方法。
网上看到的:
里氏替换原则:
在一个软件系统中,如果子类能替代父类出现的位置,而对整个软件的功能没有任何影响,那么就称为里氏替换原则
实现面向对象的多态性有哪几种方法?
总共有3种,
第一种,虚方法实现多态, 第二种:抽象方法实现多态 第三种:接口实现多态
目前为止,我们学了两种:
第一种:虚方法实现多态
通过在普通类Person中用Virtual关键字定义虚方法SayHello(),然后在子类Student中通过override关键字对父类的SayHello()方法进行重写。
第二种:抽象方法实现多态
通过在抽象类Birds中定义抽象方法Fly(),然后在子类【燕子】中对抽象方法Fly()进行重写实现多态,重写方式和虚方法一样,也是使用override关键字