面向对象(2)多态

①什么是多态?

专业的描述:在继承的条件下、具有多种行为表现的集合特征

举例:

动物是父类,

猫狗羊是其子类,

三种动物都会叫,

这就是多态的表现

②什么是向上转型?语法要求是什么?

1、通俗的描述:在继承的条件下,将子类的对象赋给父类的对象

2、专业的描述:在继承的条件下,父类的引用指向子类的引用(对象)

本质上是地址发生变化

语法要求:无需进行强制类型转换,而是自动类型转换。

此时对象的调用规则:调用的是子类重写父类的方法,而不能

调用子类特有1的方法

 

③什么是向下转型?语法要求是什么?

1、通俗的描述:在继承的条件下,将父类的对象赋给子类的对象

2、专业的描述:在继承的条件下,子类的引用指向父类的引用(对象)

语法要求:必须进行强制类型转换

温馨提示:初步了解异常转换类型,前提是先向上转型在向下转型

④实现多态的三个条件是什么?

1、继承必须存在

2、子类要重写父类的方法

3、向上转型

⑤使用多态有什么好处?

1、代码复用、减少代码量

2、软件系统得到进一步扩展

3、在企业级开发中,为设计人员提供了软件功能的健壮性和维护性

4、便于分工协作,提高开发效率,降低软件开发成本。

补充:使用多态的概念来体会开发过程中的好处

◆instanceof运算符的作用和语法格式?

好处:提高代码的健壮性,通常与强制类型转换结合使用

◆向上转型的规则(子类转换成父类的规则)?

调用的是子类重写父类的方法

而不能调用子类特有的方法

①请说出定义一个接口的关键字?

背景:生活中:USB接口,电子工程学,软件工程学

软件开发中:功能模块的集合,软件的功能架构或者标准提前定义

1、软件(应用系统的骨架)

2、软件设计领域借用电子工程学的接口概念

3、软件接口(接口思想出现前实际上是抽象类一个概念上的过度)

关键字:interface

②请说出实现一个接口的关键字,如何实现一个接口?

1、自定义一个实现类,使用implements关键字,后面跟多个接口名称

2、推荐该实现类的所有接口中所有抽象方法,否则将实现类定义为抽象类。

3、一个类在实现一个接口或者多个接口的同时也可以继承一个类

③接口有哪些特性?(重点内容)

1、接口支持public和默认两种权限

2、接口命名规范与类相同

3、接口可以继承一个或者多个接口,使用逗号分割,但不能继承类

4、接口中不能定义变量、只能定义常量,系统默认添加

5、接口的方法都是全局抽象方法,系统默认添加

6、接口不能实例化,没有构造方法!

◆◆◆◆根据JDK的版本、动态决定接口的新特性

④接口与抽象类之间的区别是什么?(补充内容)

1、接口可以多继承、抽象类单继承

2、接口中没有构造方法、抽象类中有构造方法

3、接口中的方法都是抽象方法、抽象类中可以没有抽象方法

4、接口中只能定义常量、抽象类中可以定义常量也可以定义变量

5、接口不能继承类,抽象类可以继承类

6、定义接口时使用的关键字是Interface,定义抽象类是关键字是class

课后思考:使用接口编程的思想好处是什么?

猜你喜欢

转载自blog.csdn.net/formydream111/article/details/82466996