做个老实人哈哈!
多态思想
1. 接口(了解)
接口是一种约定规范,是多个抽象方法的集合。仅仅只是定义了应该有哪些功能,本身不实现功能,
至于每个功能具体怎么实现,就交给实现类完成。
接口中的方法是抽象方法,并不提供功能实现,体现了规范和实现相分离的思想,也体现了组件之间
低耦合的思想。
所谓耦合度,表示组件之间的依赖关系。依赖关系越多,耦合性越强,同时表明组件的独立性越差,
在开发中往往提倡降低耦合性,可提高其组件独立性
接口也体现的是这种低耦合思想,接口仅仅提供方法的定义,却不提供方法的代码实现。那么得专门
提供类并去实现接口,再覆盖接口中的方法,最后实现方法的功能.( 有接口不实现 , 根本就是没有意义的 , 就相当于 你有想法,却没有去实行 , 没有去努力 , 那么这样不就是在 空想而已吗 , 有何意义 ! )
那么 定义 接口 不就是 说出你的想法 吗 ??? 实现接口 不就是 去努力将其做成功 吗 ???
多态是面向对象三大特征:封装、继承、多态 之一 。
当编译类型和运行类型不一致的时候,此时多态就产生了
注意:编译类型必须是运行类型的父类或接口。
所谓多态,表示一个对象具有多种形态。
多态的前提,可以是继承关系(类和类),也可以是实现关系(接口和实现类),在开发中,一般都
指接口和实现类之间的关系,什么是多态?
一言以蔽之:父类引用变量指向于子类对象,调用方法时实际调用的是子类的方法。
多态操作有两种定义格式和操作语法:
操作继承关系(开发中不是很多):
父类 变量名 = new 子类();
变量名.方法();
操作实现关系(开发中最频繁):
接口 变量名 = new 实现类();
变量名.方法();
(重点)多态时方法调用问题
过程 :
先 在父类中 找shout方法 ,
找不到:编译报错 , 找 到:再看 shout 方法是否在子类 Cat 类中:
找不到:运行父类方法
找 到:运行子类方法(这个才是真正的多态方法调用)
网友评论