|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
7:多态性 再访上传(upcasting) 把对象的reference当作基类的reference来用,被成为上传(upcasting)。 把对象的类型忘掉 问题的要害 方式调用的绑定(binding) 后绑定(late binding)是要在程序运行的时候,根据对象的类型来决定该绑定哪个方式。后绑定也被称为“动态绑定(dynamic binding)”或“运行时绑定(run-time binding)”。 除了static和final方式(private方式隐含有final的意思),JAVA的所有的方式都采用后绑定。 产生准确的行为 可扩展性 错误:“覆写”private的方式 抽象类和抽象方式 抽象方式(abstract method):只有声明,没有正文。 构造函数与多态性 构造函数的调用顺序 复杂对象的构造函数的调用顺序尸这样的: 1。调用基类的构造函数。这是一个递归的过程,因此会先创建继续体系的跟,然后是下一级派生类,依此类推,直到最后一个继续类的构造函数。 2。成员对象按照其声明的顺序进行初始化。 3。执行继续类的构造函数的正文。 继续与清理 先进行派生类的清理,再进行基类的清理。 多态方式在构造函数中的行为 一个好的构造函数应该,“用最少的工作量把对象的状态设置好,而且要尽可能地避免去调用方式。”构造函数唯一能安全调用的方式,就是基类的final方式(这一条也适用private方式,因为它自动就是final的。)。他们不会被覆写,因此也不会产生这种意外的行为。 用继续来进行设计 纯继续与扩展 下传与运行时的类型鉴别 总结:多态性是一种不能孤立的看待的特性(不像switch语句),相反只有放在类关系的“大背景”下,它才有用武之地。要想在编程中有效地使用多态性,以及面向对象的技术,那你就必须扩展你的编程视野,不能只关注单个类的数据成员和消息,而是要去理解类与类之间的共同性,以及他们之间的关系。虽然这个要求很高,但是这种努力是值得的,因为它能加速程序的开发,改善代码的逻辑组织,使得程序更易于扩展,同时维护代码也变得更方便了。 返回类别: 教程 上一教程: 更改 Netbeans 中选项卡的名称 下一教程: Excel的java处理方法 您可以阅读与"TIJ阅读笔记(第七章)"相关的教程: · TIJ阅读笔记(第十章) · TIJ阅读笔记(第九章) · TIJ阅读笔记(第六章) · TIJ阅读笔记(第八章) · TIJ阅读笔记(第十三章) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |