在前一篇【简单工厂模式】中,使用计算器为例做了记录,在前文中提到了我写的简单工厂模式和书上讲得有点不同:简单工厂模式只是用来创建对象,而关于此对象的操作是另外一回事,程序员需要手动根据工厂类创建的类对象(一般是父类对象指针,静态类型为父类,动态类型为子类,多态的基础)。
而我在工厂内部加了一个Get...
分类:
其他好文 时间:
2014-05-13 20:21:01
阅读次数:
318
和前文讲到的经过改进的简单工厂模式类似,这里把策略模式和简单工厂模式结合起来。改进的关键是改写【TodoContext】上下文类,要在该类中产生对象(【干活】类的动态类型),对外提供的干活函数不变。如下:最大的不同就是CTodoContext类的构造函数参数不同了,构造函数成为类似简单工厂模式类的参...
分类:
其他好文 时间:
2014-05-13 20:11:47
阅读次数:
326
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游...
分类:
其他好文 时间:
2014-05-13 19:24:26
阅读次数:
278
继承、封装、多态、抽象是面向对象编程的四大基本特征。封装隐藏了类的内部实现机制,从而可以再不影响使用者的前提下,改变类的内部结构,同时保护了数据。继承是为了重用父类代码,同时为多态做准备。多态就是相同的行为,不同的实现。
在Java中,多态有两种理解方式:静态多态和动态多态。静态多态的实现方式...
分类:
其他好文 时间:
2014-05-13 18:37:19
阅读次数:
251
引言对象的C++语言与以往的模块化程序语言的不同点在于:数据与操作数据的函数连接起来(即:封装性),结构紧凑,数据安全。正是由于这种封装性,大大强化了C++语言的可移植性及数据的安全性。类封装的形式很简单,本文主要谈谈封装的内部结构。实例问题类的内部数据存储地址仅表示相对对象首地址的地址偏移量。实例...
分类:
编程语言 时间:
2014-05-13 18:20:56
阅读次数:
279
在不同包,子类继承后可以使用父类的protect权限的属性或方法父类:package
com.tinyphp;public class Father{ protected String name;}子类:package
com.test;import com.tinyphp.Father;cl...
分类:
编程语言 时间:
2014-05-13 18:19:55
阅读次数:
404
函数声明: function aaa(){}
有预解析,在if...else...分别调用不同的函数,要采用函数表达式的形式函数表达式: var a = function aaa(){} 命名函数表达式
var a = function (){} 匿名函数表达式 (function aaa...
分类:
其他好文 时间:
2014-05-13 18:06:32
阅读次数:
293
估计很多朋友对不同后缀的文件对应的MIME类型不熟悉(实际上这么多我也记不住),所以将平常常见的一些文件后缀对应的MIME类型写了一个对照表,现在奉献给大家:
文件后缀 MIME 备注 *.avi video/x-msvideo 视频文件 *.aif *.aiff *.aifc audio...
分类:
其他好文 时间:
2014-05-13 18:05:28
阅读次数:
305
(原文地址:http://whchen.net/blog/index.php/archives/acm-wsn.html)Arena的格局,是和别处不同的:是用Java做的客户端,可以随时System
Test每场SRM,还可以看到挂掉的数据。喜欢做Coding的人,傍午傍晚闲得蛋疼的时候,每每花7...
分类:
其他好文 时间:
2014-05-13 17:19:21
阅读次数:
190
派生表(也称为表子查询)是在外部查询的FROM子句中定义的。派生表的存在范围为定义它的外部查询,只要外部查询一结束,派生表也就不存在了。定义派生表的查询语句要定在一对圆括号内,后面跟着AS子句和派生表的名称。例:
SELECT * FROM (SELECT custid FROM Custo...
分类:
其他好文 时间:
2014-05-13 11:12:15
阅读次数:
229