- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象技术复习纲要
面向对象技术复习纲要
本纲要以设计模式与设计原则为主要内容,很多概念性内容请参考其他课本。
Part Ⅰ面向对象基础
1. 基本思想:
要点1:任何事物都是对象,对象有属性和方法。复杂对象可以由相对简单的对象以某
种方式构成。
要点 2:通过类比发现对象间的相似性,即对象间的共同属性,是构成对象类的依据。
要点3:对象间的相互联系是通过传递“消息”来完成的。通过对象之间的消息通信驱
动对象执行一系列的操作从而完成某一任务。
2. 基本概念
a) 对象 类 动态绑定 消息传递
b) 特性:封装性 继承性 多态性
3. 优点:模块化,信息隐藏与抽象;自然性;并发性;重用性
4. 面向对象的设计支柱:封装、继承、多态
5. 静态类型语言与动态类型语言 (变量类型声明)
6. 静态类与动态类
反多态:父类转换为子类
7. 多继承与名称二义性
解决方案:重定义
8. 重载与重写
9. 重写与遮蔽 比较:改写、遮蔽、重定义
10. 纯多态
11. 模板方法与模板类
12. 框架
Part Ⅱ 设计模式与设计原则
一、设计原则
a) 抽取变化:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变
化的代码混在一起。
b) 针对接口:针对接口编程,而不是针对实现编程。
c) 多组合少教程:多用组合,少用继承。
d) 松耦合:为了交互对象之间的松耦合设计而努力。
e) 开闭原则:类应该对扩展开放,对修改关闭。
f) 依赖倒置原则:要依赖抽象,不要依赖具体类。
g) 最少知识原则:只和你的密友谈话。
h) 好莱坞原则:别调用(打电话给)我们,我们会调用(打电话给)你。
i) 单一责任:一个类应该只有一个引起变化的原因。
二、设计模式概览
a) 策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算
法的变化独立于使用算法的客户。
b) 观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,
它的所有依赖者都会收到通知并自动更新。
c) 装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更
有弹性的替代方案。
d) 工厂模式:
i. 简单工厂模式
ii. 工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪
一个。工厂方法让类把实例化推迟到子类。
iii. 抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明
确指定具体类。
e) 单件模式:确保一个类只有一个实例,并提供一个全局访问点。
f) 命令模式:将 “请求”封装成对象,以便使用不同的请求、队列或者日志来参数化
其他对象。命令模式也指出可撤销的操作。
g) 适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口
不兼容的类可以合作无间。
h) 外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一
个高层接口,让子系统更容易使用。
i) 模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。
模板方法使得子类可以在不改变算法接口的情况下,重新定义算法中的某些步骤。
j) 迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内
部的表示。
k) 组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能
让客户以一致的方式处理个别对象以及对象组合。
l) 状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的
类。
m) 代理模式:为另一个对象提供一个替身或占位符以控制对这个对象的访问。
n) 复合模式:结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问
题。
三、设计模式详解
a) 策略模式:
i. 要点:
1. 知道OO 基础,
文档评论(0)