C++面对对象设计当中经常涉及到有关跟踪输出的功能,这是C++进阶的一个很基础的问题;
下面例子将实现这一功能;
class Trace {
public:
Trace() { noisy = 0; }
void print(char *s) { if(noisy) printf("%s", s); }
void on() { noisy = 1; }
void off() ...
分类:
编程语言 时间:
2014-07-16 13:30:52
阅读次数:
238
(二十一)访问者模式
对已存在的类进行扩展,通常需要增加方法,但是如果需要的行为与现有的对象模型不一致,或者无法修改现有代码。在这种情况下,不更改类的层次结构,就无法扩展该层次结构的行为。如果运用了访问者模式,就可以支持开发人员扩展该类层次结构的行为。
(二十二)中介者模式
面对对象开发要求尽可能恰当的分配职责,要求对象能够独立的完成自己的任务。观察者模式通过最小化对象与对象之间的职责交互,从而支持职责的合理分配。当对象间的交互趋向复杂,而每个对象都需要知道其他对象的情况时,提供一个集中地控制权是很有用...
分类:
编程语言 时间:
2014-07-16 11:27:22
阅读次数:
263
(十七)责任链模式
责任链模式的目的是通过给予多个对象处理请求的机会,已解除请求发送者与接受者之间的耦合关系。面对对象的开发力求对象之前保持松散耦合,确保对象各自的责任最小化,这样的设计可以使得系统更加容易修改,同时降低产生缺陷的风险。
(十八)命令模式 command
命令模式将请求封装在一个对象中,可以像管理对象一样去管理方法,传递并在合适的时机调用。
命令模式允许在服务执行的上下文使用客户端代码,所...
分类:
编程语言 时间:
2014-07-12 18:44:39
阅读次数:
225
说到js,很大一部分人会说我很熟悉,在日常的web开发中经常用,那么你的js代码是符合面对对象思路的吗?那你会问我面向过程的js代码有什么不好吗?我的感受是面对对象的js编码更加简洁,减少了混乱,可维护行增强,适合编写富客户端时应用。
好了,首先看看js里如何定义对象:
var obj=new Object();
obj.name='josh';
ob...
分类:
Web程序 时间:
2014-06-30 18:45:17
阅读次数:
289
上篇博客中讲解了一些js对象的基本概念和用法,这篇博客讲解一下js属性方面的:公有属性,私有属性,特权方法。
如果学过java,公有属性,私有属性,特权方法(即可以访问和设置私有属性的方法)一定很熟悉,那么让我们来看看在js里如何实现呢?
1、公有属性
首先看公有的第一层意思是可以被大家所访问的,对外开放的属性,是相对于私有属性而言的:
function Person(...
分类:
Web程序 时间:
2014-06-30 15:44:42
阅读次数:
251
面向对象:OOP(object oriented programming)什么是面向对象?
一种分析问题的方式 面向对象三大特征:封装,继承,多态 封装(隐蔽代码实现,复用,修改方便)类,对象(抽象-具体)
类是模具,创建对象的模具,抽象的 类是一种数据类型,用户自定义的数据类型 类组成...
分类:
其他好文 时间:
2014-06-04 15:50:30
阅读次数:
256
上一篇博客中为大家介绍了javascript面向对象编程原则的封装,今天为大家介绍继承,在javascript中没有类的概念,所有不能像c#,java语言那样,直接的用类去继承类。比如现在有比如,现在有一个"动物"对象的构造函数。
function Animal(){
this.species = "动物";
}
还有一个"猫"对象的构造函数。
funct...
分类:
编程语言 时间:
2014-05-25 07:25:50
阅读次数:
305
我们知道,继承,组合,重载,重写是java语言的面向对象实现的基本特征。
那么在java内部,究竟是如何实现这些面对对象的基本特征的呢? 继承和组合是面向对象中代码复用的主要实现方式,他们可以达到类似的效果,就是提高代码的复用。
组合很简单也很直观,就是在一个类中直接引用另一个类,然后调用引用类的一...
分类:
编程语言 时间:
2014-05-21 18:34:23
阅读次数:
203
面对对象设计面对对象设计思想:把方法定义在合适的对象上。人在黑板上画圆,其实是调用圆的构造方法。司机刹车,实际上刹车的方法在车上面,我们只是调用刹车的方法,刹车的方法在车上。classCircle1{doubler;publicCircle1(doubler){this.r=r;}}new对象就能新...
分类:
编程语言 时间:
2014-05-17 21:36:06
阅读次数:
451
今天我们学习了类、对象和包,首次接触到了面对对象编程的思想,这和以往的面向过程编程的思维模式有很大不同,以至于我的思路一时还不能完全转变,但从老师列举出的例子中能够看出,面向对象编程相对于面向过程编程,前者更能够解决复杂的问题。类是对象的描述,对象是类的实例化,包是java提供的一种管理类的名字和空...
分类:
其他好文 时间:
2014-05-06 11:51:27
阅读次数:
286