OC语言基础知识一、面向对象OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。术语:OO面向对象、OOP面向对象编程二、类(一)关于类类的设计只关注三个东西:类名、属性和方法注...
分类:
编程语言 时间:
2014-11-12 13:40:15
阅读次数:
237
1.为什么需要抽象类?如何定义抽象类?
*是一种模板模式。抽象类为所有子类提供了一个通用模板,子类可以在这个模板基础上进行扩展。
*通过抽象类,可以避免子类设计的随意性。通过抽象类,我们可以做到严格限制子类的设计,使子类之间更加通用。
2.要点:
有抽象方法的类只能定义为抽象类。
抽象类不能实例化,及不能用new来实例化抽象类。
抽象类可以包含属性,方法,构造方法。但是构造方法...
分类:
编程语言 时间:
2014-11-09 22:21:09
阅读次数:
250
1.背景在上一章中,我们给出了整个工具栏设计的核心,使用命令模式,并设计了具体工具类所继承的基类——Command类。从这一章开始我们便正式进入了具体工具类的设计和实现。放大和缩小工具是最基础的工具之一,其操作分为三种:a.点击地图,进行放大缩小b.拉框,进行放大缩小c.滚轮调控放大缩小针对这三种操...
分类:
Web程序 时间:
2014-11-08 12:00:47
阅读次数:
309
1.从面向对象的C++转向模板C++时继承可能遭遇问题:由于基类模板可能被特化,而该特化版本肯可能会改变成员,因此C++拒绝在模板基类中寻找继承而来的名称2.实例:假设信息传送到不同的公司去,传送方式包括明文传送和密文传送,采用模板类的设计方法;templateclass MsgSender{pub...
分类:
其他好文 时间:
2014-11-07 16:22:29
阅读次数:
192
模板方法模式(Template Method Pattern):定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法是一种类行为型模式.
模板方法模式是一种类的行为型模式,在它的结构图中只有类之间的继承关系,没有对象关联关系。
在模板方法模式的使用过程中,要求开发抽象类和开发具体子类的设计师之间进行协作。一个设计师...
分类:
其他好文 时间:
2014-10-23 17:42:36
阅读次数:
193
以前的我认为,相同的表单,若有后台代码,那么它对应的应该是一套业务,只能为这个功能服务。但是后来的需求打翻了我的认识。
以前我做的一条线是实现如下功能
这个是一条线的功能,结合工作流,4个活动点对应四个步骤。
后台在做第四个功能线的时候发现一部分与功能一相同。但是其中用到的类与对象却不相同。但是页面是稍微变化。还是可以复用页面的。
需求功能大题是一样的。类的设计是不同的子类设...
分类:
其他好文 时间:
2014-10-12 02:12:07
阅读次数:
223
(一)
注意从 “面向对象的C++” 转向 “模板C++” 时继承可能遭遇问题 :由于基类模板可能被特化,而该特化版本可能会改变成员,因此C++拒绝在模板化基类中寻找继承而来的名称。
(二)
看下面的例子:
假设将信息传送到不同的公司去,传送方式包括明文传送和密文传送,采用模板类的设计方法:
class CompanyA {
public:
...
void sendCl...
分类:
编程语言 时间:
2014-09-20 16:10:39
阅读次数:
163
---恢复内容开始---1.面向对象思想:万物皆对象,面相对象是更加符合人类思维模式的软件编程思想,比较简单,而且扩展性好。2.拥有相同(或者类似)属性和行为的对象都可以抽像出一个类,类就像图纸,对象就是根据图纸制造出来的东西,实实在在存在的。3.类的设计,只关心3样东西:事物名称(类名):人(Pe...
分类:
其他好文 时间:
2014-09-16 00:09:39
阅读次数:
221
1. 让接口被正确使用最重要的方法是:保持与内置类型的一致性。方法1:外覆类型(wrapper types)例如在需要年月日时,使用struct day {explicit day(int d) : val(d) { }private: int val;};方法2:函数替代对象class month...
分类:
编程语言 时间:
2014-09-15 22:29:49
阅读次数:
334