标签:instanceof 25 对象 子类 多态 引用 第四组 父类
目录一、多态
1.多态形成的三个条件
- 有继承
- 有重写
- 有父类对象指向子类引用
2.什么是多态?
- 面向对象的三大特性:封装、继承、多态。
- 多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
- 多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
3.两种多态形式
第一种多态形式:(向上转型)
语法:父类 父类对象 = new 子类对象
Animal animal = new Cat();
第二种多态形式:
语法:子类类型 引用名 = (子类类型) 父类引用;
Animal animal = new Dog();
Dog dog = (Dog) animal; //(高转低,强制转换)
向下转型的前提是父类的引用必须指向的是当前目标类型的对象
4.多态的作用
-
提高了代码的维护性(继承保证)
-
提高了代码的扩展性(由多态保证)
-
把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
赋值之后,父类型的引用就可以根据当前赋值给它的子对象的特性以不同的方式运作。也就是说,父亲的行为像儿子,而不是儿子的行为像父亲。
多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态。
编程其实就是一个将具体世界进行抽象化的过程,多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物, 与不同的具体事物进行对话。
2.instanceof
判断一个对象是某一个类的实例
对象A instanceof ClassB
返回值是一个boolean值,如果对象A是类B的实例,则返回值是true,否则为false
标签:instanceof,25,对象,子类,多态,引用,第四组,父类 来源: https://www.cnblogs.com/beibei725/p/16518370.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。