zoukankan      html  css  js  c++  java
  • java编程思想概括(第七章)多态

    多态

    ——“封装”通过合并特征和行为来创建新的数据类型。“实现隐藏”则通过“私有化(private”将接口和实现分离开来。多态的作用:消除类型之间的耦合关系。又名:动态绑定dynamic binding/后期绑定late binding或运行时绑定run-time binding

    1. 向上转型:将对某个对象的引用视为对其基类型引用的做法被称作“向上转型”,不用管导出类的存在,编写的代码只是与基类打交道。

    2. 方法调用绑定:前期绑定(early binding)程序执行前进行绑定---由编译器和链接程序实现。后期绑定(late binding)在运行时,根据对象的类型进行绑定。

    3. 扩展性:多态——我们所做的代码修改,不会对程序中其他不应 影响的部分产生破坏。让程序员“将改变的事物与未变的事物分离开来”。

    4. 缺陷:会重载“私有方法”。在导出类中,对于基类的private方法,最好用一个不同的名字。

    5. 抽象类和抽象方法:包含抽象方法的类叫做“抽象类(abstract class)”,如果一个类包含一个或多个抽象方法,该类必须被限制为是抽象的,(否则,编译器会报错)。

    6. 构造器和多态:要理解构造器怎样通过多态在复杂的层次结构中运作。

    1) 构造器的调用顺序:a)调用基类构造器。b)按声明顺序调用成员的初始状态设置模块c)调用导出类构造器的主体。

    2) 继承与清除:对于属性,处理的顺序和声明的顺序相反。对于基类,应该首先对其导出类进行清除,然后才是基类。

    3) 构造器内部的多态方法的行为:一条规则——用尽可能简单的方法使对象进入正常状态;如果可以的话,避免调用其他方法。

    7. 用继承进行设计:用继承表达行为间的差异,并用属性表达状态上的变化。

    纯继承与扩展:向上转型存在的问题——不能调用那些新增方法。

    向下转型与运行期类型标识:向下转型,若失败,则返回一个classCastException异常。运行期类型识别(RTTI),运行期间对类型进行检查的行为。

     

     

     

    ——————————如果不豁出性命的话,也是无法开创未来的。
  • 相关阅读:
    POJ 1251 Jungle Roads
    1111 Online Map (30 分)
    1122 Hamiltonian Cycle (25 分)
    POJ 2560 Freckles
    1087 All Roads Lead to Rome (30 分)
    1072 Gas Station (30 分)
    1018 Public Bike Management (30 分)
    1030 Travel Plan (30 分)
    22. bootstrap组件#巨幕和旋转图标
    3. Spring配置文件
  • 原文地址:https://www.cnblogs.com/thirller/p/2919775.html
Copyright © 2011-2022 走看看