组合 、委托
基本常识:策略模式和状态模式是双胞胎,在出生时才分开。
一般来说,我们把策略模式想成是除了继承之外的一种弹性替代方案。
什么时候用接口? or 抽象类?
当实现接口的类中,重复代码太多时,可考虑继承 。
OO模式:
状态模式--允许对象在内部状态改变时改变它的作为,对象看起来好像修改了它的类
如: 因为一个状态对应一个类, 每个类中的方法名相同,但实现不同...
分类:
其他好文 时间:
2014-06-05 03:52:54
阅读次数:
209
在一般的函数定义中,都是定义类似的函数。int foo(int v1, int
v2);在调用foo函数的时候,将实参传进去就可以使用foo了。但是,我们也可以直接在函数定义的时候就给形参赋值。如:int foo(int v1 = 1,
int v2 = 2);这样定义之后,可以这样使用:foo()...
分类:
其他好文 时间:
2014-06-04 19:57:34
阅读次数:
268
OO的ALV隐藏工具栏:***展示数据 CALL METHOD
gr_alvgrid->set_table_for_first_display EXPORTING is_variant = gs_variant
i_save ...
分类:
其他好文 时间:
2014-06-03 09:18:53
阅读次数:
316
封装是面向对象的基础,今天所要学习的匿名函数与闭包就是为了实现JS的面向对象封装。封装实现、封装变量,提高数据、系统安全性,封装正是面向对象的基础。
匿名函数
即没有名字的函数,其创建方式为
function(){...}
单独存在的匿名函数,无法运行,可通过赋值给变量调用或通过表达式自我执行来实现运行。...
分类:
Web程序 时间:
2014-06-01 07:02:03
阅读次数:
302
OO(ObjectOriented,面向对象),用一张图表示OO进行系统开发的特性:
SO(Service-Oriented,面向服务),用一张图表示SO系统开发与运行的特性:
通过这两图的对比,如果抽象一点来说的话,这两张图其实都是...
分类:
其他好文 时间:
2014-05-31 22:37:18
阅读次数:
567
C++的前世今生:C的结构化思想;Ada的模版思想;Fortran的运算符重载思想;Simula的OO思想:封装,继承,多态;C++类型描述了变量的三个特征:该类型在内存中占用物理空间的大小(空间读取范围);该类型的值的合法的取值范围(位模式解释方法);合法的操作集(数据的用法);C++的整数类型有...
分类:
编程语言 时间:
2014-05-31 20:57:08
阅读次数:
481
有时一个项目中会多处涉及到路径,当你把这个项目移植到别的电脑上时就要一一修改这些路径,过程十分繁琐,所以一个全局变量在这时是必不可少的。遗憾的是java等oo语言并没有全局变量,这怎么办呢?下面介绍一种方法:新建一个类,包含静态属性,如下所示:public
class Variable { /** ...
分类:
编程语言 时间:
2014-05-31 05:56:41
阅读次数:
273
前言:自从加入
Discuz!NT开发小组开始。我就放弃了以前的软件设计思想,转而去使用项目组所规范使用的架构设计思想和开发模式来进行开发。这样的时间一直持续到了今天。虽然我向往面向对象的开发方式,且向来对不够OO的设计存有偏见。但人必定要生存,特别是已经做了父亲的程序员来说,这种压力是不容回避的....
分类:
其他好文 时间:
2014-05-28 09:05:07
阅读次数:
305
一、单一职责原则 (1)核心思想:一个类最好只做一件事,只有一个引起它变化的原因
(2)常用模式:Facade模式、Proxy模式 (3)基本方法:Extract Interface 抽取接口、Extract Class
抽取类、Extract Method 抽取方法 (4)DEMO:数据库...
分类:
Web程序 时间:
2014-05-26 19:22:27
阅读次数:
398
这三个概念都是与OO中的多态有关系的。如果单是区别重载与覆盖这两个概念是比较容易的,但是隐藏这一概念却使问题变得有点复杂了,下面说说它们的区别吧。
重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 覆盖(也叫重写)是指在派生类中重新对基类中...
分类:
其他好文 时间:
2014-05-25 15:20:56
阅读次数:
285