• 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),运行期间对类型进行检查的行为。

     

     

     

    ——————————如果不豁出性命的话,也是无法开创未来的。
  • 相关阅读:
    C# 轻松读取、改变文件的创建、修改、访问时间 z
    C#中将dll汇入exe z
    ASP.NET中引用dll“找不到指定模块"的完美解决办法 z
    C# 调用第三方DLL z
    [ACM_贪心] Radar Installation
    Beauty Contest
    [ACM_几何] Wall
    [ACM_几何] Pipe
    [ACM_几何] Fishnet
    [ACM_动态规划] 找零种类
  • 原文地址:https://www.cnblogs.com/thirller/p/2919775.html
Copyright © 2020-2023  润新知