- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象复习提纲面向对象复习提纲
c一、复习提纲(填空,判断,选择)
1. UML的基本概念、名称、历史、和UML2.0规范的结构和13种图以及所属类型。以及每种图的所属描述软件特征的类型。
·名称:Unified Modeling Language,统一建模语言
·基本概念:用图形符号来表达面向对象设计
·历史:
·13种UML图及其反映的软件特征的类型:
功能:用例图
结构:类图、对象图、包图、复合结构图
行为:状态机图、顺序图、活动图、通讯图、交互概观图
实现:构建图、部署图
时间:定时图
2. 软件过程的几个阶段
需求分析 设计 实现 测试 维护
3. MVC的概念
Model模型,View视图、Controller控制器
4. 面向对象中对象和对象之间的关系:组合(委托)、继承(公有继承、私有继承),以及他们的实现机制
委托:转发对自身的请求给组合(或聚合)对象,组合和委托的一般实现:
class Brain{
public:
void fun1();
};
class Person{
private:
Brain b; //这是组合
public:
void fun1(){b.fun1();} //这是委托
};
组合和私有继承实现的是has-a关系(A包含/私有继承B,则B是A的成员/基类子对象)
公有继承实现的是is-a关系(A公有继承B,则A是B的子类型)
5. 抽象类的作用
在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象。抽象类的主要作用是通过它为一个类族建立一个公共的接口,使它们能够更有效地发挥多态特性。
6. 支持多视感标准的抽象工厂(Abstract Factory)模式,GUIFactory的创建特点,以及如何根据用户输入不同,建立多视感标准。
·GUIFactory的创建特点:
1.GuiFactory实例可以是全局变量、一个众所周知的类的静态成员,或者如果整个用户界面是在一个类或一个函数中创建的,则可以是局部变量,此时一般用Singleton来创建。
2.GUIFactory实例在用来创建窗口组件之前、所需视感标准确定之后创建。
·依据用户输入不同,建立多视感标准:
GUIFactory* guiFactory;
const char* styleName = getenv(“LOOK_AND_FEEL”); //用户的输入,比如环境变量之类的
if(strcmp(styleName, “Motif”) == 0){
guiFactory = new MotifFactory;
}
else if (strcmp(styleName, “Presentation_Manager”) == 0){
guiFactory = new PMFactory;
}
else {
guiFactory = new DefaultGUIFactory;
}
7. 框架和设计模式的关系
·相同点:都是对已有的代码或者模式的重用
·不同点:
1.设计模式比框架更抽象。框架可以用代码来表示,而设计模式只有其实例才能表示为代码。框架能够被直接执行和复用,设计模式复用时,需要被实现。
2.设计模式是比框架更小的体系结构元素。一个典型的框架包含了多个设计模式。
3.框架比模式更加特征化,框架总是针对一个特定的应用领域,而模式主要用于解决某一类问题。
8. Decorator模式下图元和边框,滑动条的关系
9. 我们讲的几个典型模式的意图
·Adapter适配器:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
·Fa?ade外观:为子系统中的一组接口提供一个一致的界面, F a c a d e模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
·Flyweight享元:运用共享技术有效地支持大量细粒度的对象。
·Chain of Responsibility职责链:为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。
·Proxy代理:为其他对象提供一个代理以控制对这个对象的访问。
10. 几个典型模式的实现方式
·Fa?ade外观:
·Flyweight享元:
·Chain of Responsibility职责链:
·Adapter中的类适配器:
·Adapter中的对象适配器:
·Proxy代理:
11. 动态绑定和多态
·多态:同样的消息被不同类型的对象接收时导致不同的行为。
·动态绑定:C++中的虚函数(用virtual声明),将函数调用绑定到具体函数的过程是在程序运行阶段动态确定的,叫做动态绑定。
文档评论(0)