《Thinking in java》第七章 复用类
发觉这一章并不是一些什么基础,却蕴含java编程的一些常规思想,设计模式的雏形。
7.1 组合语法
一个类包含另一个类的引用。
初始化引用的四种方法:
1.定义即初始化,保证了在调用构造器前初始化
2.在类的构造器中
3.正要使用这些类之前,惰性初始化
4.使用实例初始化
7.2 继承语法
为每一个类添加main()方法,方便单元测试。
数据成员指定为private,方法指定为public
7.2.1 初始化基类
当创建一个导出类的对象时,该对象包含了一个和基类的子对象,这个对象和直接用基类创建的对象完全一样,只是说这个对象包含在导出类对象的内部。
在初始化导出类时,从内到外,先调用基类的构造方法,在调用导出类的构造方法。并且导出类一定会调用基类的构造方法。
带参数的构造器
如果基类中的构造器带参数,那么导出类的构造器中一定要显示的调用基类的构造器super(i)并传入合适的参数。
7.3 代理
组合和继承的中庸之道。
7.4 结合使用组合和继承
7.4.1 正确清理
7.4.2 名称屏蔽
7.5在组合和继承之间进行选择
在新类中嵌入某个对象,让其实现所需要的功能,但新类中的用户看到的是新类所定义的接口,而不是嵌入类的接口。需要在新类中嵌入一个现有类的private对象。
7.6 protected关键字
尽大限度的隐藏
7.7 向上转型
继承的最重要的方面不是继承基类的方法,而是新类和基类之间的关系,即“新类是现有类的一种类型”。
慎用继承。
7.8 final关键字
7.8.1 final数据
public可用于包外
static只有一份
final不能改变
final static基本类型用大写命名,字与字之间用下划线隔开。
分享到:
相关推荐
通信原理:第七章 多路复用.ppt
光纤通信系统课件:13第七章 光波分复用技术.ppt
本章为该课程的其中一个章节 【全部课程列表】 第1章-程序设计基本方法 共45页.pptx 第2章-Python语言基本语法元素 共46页.ppt ...第7章-Python标准库概览 共47页.ppt 第8章-Python第三方库概览 共60页.ppt
本章为该课程的其中一个章节 【全部课程列表】 第1章-程序设计基本方法 共45页.pptx 第2章-Python语言基本语法元素 共46页.ppt ...第7章-Python标准库概览 共47页.ppt 第8章-Python第三方库概览 共60页.ppt
第7章 复用类 第8章 多态 第9章 接口 第10章 内部类 第11章 持有对象 第12章 通过异常处理错误 第13章 字符串 第14章 类型信息 第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 Java I/O系统 第19章 枚举类型 ...
非静态实例初始化 5.8 数组初始化 5.8.1 可变参数列表 5.9 枚举类型 5.10 总结 第6章 访问权限控制 第7章 复用类 第8章 多态 第9章 接口 第10章 内部类 第11章 持有对象 第12章 通过异常处理错误 第13章 字符串 第...
B.Sklar的数字通信-基础与应用第二...第7章 信道编码(二) 第8章 信道编码(三) 第9章 调制和编码的权衡 第10章 同步 第11章 多路复用和多址接入 第12章 扩频技术 第13章 信源编码 第14章 加密和解密 第15章 衰落信道
第1章 引言 1 1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 ...
第七章 套接口选项 第八章 基本UDP套接口编程 第九章 基本名字与地址转换 第十章 IPv4和Ipv6的互操作性 第十一章 高级名字与地址转换 第十二章 守护进程和inetd超级服务器 第十三章 高级I/O函数 第十四章 Unix域协议...
书中源码以及课后练习代码(从第7章开始随着看书的进度一步步更新) 第七章 复用类 7.1 组合语法 7.2 继承语法 7.2.1 初始化基类 7.3 代理 7.4 结合使用组合和继承 7.4.1 确保正确清理 7.4.2 名称屏蔽 7.5 在组合与...
第7章 使用账务模型 第8章 计划模式 第9章 交易模式 第10章 派生合同 第11章 交易包 第2部分 支持模式 第12章 信息系统的层次化构架 第13章 应用门面 第14章 类别模型模式...
第7章 里氏代换原则 第8章 依赖倒转原则 第9章 接口隔离原则 第10章 合成、聚合复用原则 第11章 迪米特法则 第12章 简单工厂模式 第13章 工厂方法模式 第14章 抽象工厂模式 第15章 单例模式 第16章 .......
本章为该课程的其中一个章节 【全部课程列表】 第1章-程序设计基本方法 共45页.pptx 第2章-Python语言基本语法元素 共46页.ppt ...第7章-Python标准库概览 共47页.ppt 第8章-Python第三方库概览 共60页.ppt
第7章 复用类(18年6月) 第8章 多态(18年7月) 第9章 接口(18年10月) 第10章 内部类 第11章 持有对象 第12章 通过异常处理错误 第13章 字符串 第14章 类型信息 第15章 泛型 第16章 数组 第17章 容器深入研究 第18章 ...
第2章 实例研究:设计一个文档编 辑器 22 2.1 设计问题 23 2.2 文档结构 23 2.2.1 递归组合 24 2.2.2 图元 25 2.2.3 组合模式 27 2.3 格式化 27 2.3.1 封装格式化算法 27 2.3.2 compositor和composition 27...
【课程列表】 第1章-程序设计基本方法 共45页.pptx 第2章-Python语言基本语法元素 共46页.ppt 第3章-程序的控制结构 共53页.ppt ...第7章-Python标准库概览 共47页.ppt 第8章-Python第三方库概览 共60页.ppt
第7章 什么是敏捷设计 第8章 单一职责原则(SRP) 第9章 开放—封闭原则(OCP) 第10章 Liskov替换原则(LSP) 第11章 依赖倒置原则(DIP) 第12章 接口隔离原则(ISP) 第三部分 薪水支付案例研究 第13章 COMMAND模式和...
第7章 里氏代换原则 第8章 依赖倒转原则 第9章 接口隔离原则 第10章 合成/聚合复用原则 第11章 迪米特法则 第三部分 第12章 简单工厂模式 第13章 工厂方法模式 第14章 抽象工厂模式 第15章 单例模式 第16章 专题:...
本章为该课程的其中一个章节 【全部课程列表】 第1章-程序设计基本方法 共45页.pptx 第2章-Python语言基本语法元素 共46页.ppt ...第7章-Python标准库概览 共47页.ppt 第8章-Python第三方库概览 共60页.ppt