该篇文章通过一个写计算器控制台程序,来导入文章主题。
首先,要注意代码规范,变量命名有意义,不能随意用A,B,C;
功能要封装好,不要写在一个主函数里,另外要考虑后期需求的更改,如果出现多个函数里面的代码大部分相同,那么我们要学会提取公共行为、属性来构造一个父类,具体的子类来继承父类。继承最...
分类:
其他好文 时间:
2014-05-16 09:12:17
阅读次数:
236
工厂方法(Factory
Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品...
分类:
其他好文 时间:
2014-05-16 06:55:08
阅读次数:
205
模板模式(Template
Pattern),又叫模板方法模式,通过定义一个操作的算法骨架,而将一些步骤延迟到子类中,可以不改变一个算法的结构即可以重新定义概算法的某些特定步骤。应用场景概念解释类型:行为型模式
分类:
其他好文 时间:
2014-05-16 05:30:17
阅读次数:
240
基本定制型C.__init__(self[, arg1, ...])
构造器(带一些可选的参数)C.__new__(self[, arg1, ...])
构造器(带一些可选的参数);通常用在设置不变数据类型的子类。C.__del__(self) 解构器C.__str__(self) 可打印的字符输出...
分类:
编程语言 时间:
2014-05-14 12:26:48
阅读次数:
435
装饰模式(Decorater)动态的给一个对象添加一些额外的职责。
就增加功能来说,装饰模式比生成子类更加灵活。装饰模式中有几个关键的地方:①装饰模式依赖于【装饰者】类中有一个父类对象(指针),
而装饰函数(或方法)用来此父类对象(指针)设置实际的动态类型。②因为是要给某个对象增加职责,所以很明显的...
分类:
其他好文 时间:
2014-05-14 12:03:06
阅读次数:
297
从学习java开始一直被灌输一个概念,就是抽象类不能实例化,然后就一直认为抽象类没有构造。直到今天我看oracle的JDBC驱动源代码的OracleStatement类,发现它是一个抽象类,但是却又构造方法,奇怪之下进行试验,发现抽象类确定是不能直接new,但却可以有构造,你new
他的实现子类.....
分类:
其他好文 时间:
2014-05-14 07:33:13
阅读次数:
218
在前一篇【简单工厂模式】中,使用计算器为例做了记录,在前文中提到了我写的简单工厂模式和书上讲得有点不同:简单工厂模式只是用来创建对象,而关于此对象的操作是另外一回事,程序员需要手动根据工厂类创建的类对象(一般是父类对象指针,静态类型为父类,动态类型为子类,多态的基础)。
而我在工厂内部加了一个Get...
分类:
其他好文 时间:
2014-05-13 20:21:01
阅读次数:
318
在不同包,子类继承后可以使用父类的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
这往往是引用的问题。ARC要求完整的前向引用,也就是说在MRC时代可能只需要在.h中申明@class就可以,但是在ARC中如果调用某个子类中未覆盖的父类中的方法的话,必须对父类.h引用,否则无法编译。
有一篇文章讲的很详细
本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流和讨论。请不要将本文的部分或全部内容用于商用,谢谢合作。
欢迎转载...
分类:
其他好文 时间:
2014-05-13 11:18:21
阅读次数:
263
构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法)。因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需要调用其父类的构造方法。
如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅在没有显式地声明构造函数情况下创建。
构造原则如下:
1. 如果子类没有定义构造方...
分类:
编程语言 时间:
2014-05-12 23:34:42
阅读次数:
382