设计模式的6大基本原则,其实是在面向对象的基础上发展而来的,通过他们实现了面向对象的三大基本特性继
承、封装和多态,从而提高程序的内聚性降低耦合性,使程序可维护、复用、可扩展、灵活性好。但是一切事物都有
个度,在运用这些原则的时候不能一味地生硬的用下去,在用之前一定要好好思量,从系统的整体性能出发,最大限
度地提高系统的灵活性。...
分类:
其他好文 时间:
2014-06-20 13:41:41
阅读次数:
183
1 OOP概述
面向对象基于三个基本概念:数据抽象、继承和动态绑定。通过使用数据抽象,我们可以将类的接口与实现分离;使用继承,可以定义相似的类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。
1.1 继承
继承是派生类与基类之间的关系,它们共享了一些公共的东西,而派生类特化了一些本质不同的东西。类与类之间的继承关系构成了继承层...
分类:
编程语言 时间:
2014-06-19 12:11:25
阅读次数:
318
上面关于继承的实现很粗糙,并且存在很多问题:
在创建Employee构造函数和原型(以后简称类)时,就对Person进行了实例化,这是不合适的。
Employee的构造函数没法调用父类Person的构造函数,导致在Employee构造函数中对name和sex属性的重复赋值。
Employee中的函数会覆盖Person中的同名函数,没有重载的机制(和上一条是一个类型的问题)。
创建JavaScript类的语法过于零散,不如C#/Java中的语法优雅。
实现中有constructor属性的指向错误。
正因为...
分类:
编程语言 时间:
2014-06-19 11:44:43
阅读次数:
239
1
OOP概述面向对象基于三个基本概念:数据抽象、继承和动态绑定。通过使用数据抽象,我们可以将类的接口与实现分离;使用继承,可以定义相似的类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。1.1
继承继承是派生类与基类之间的关系,它们共享了一些公...
分类:
编程语言 时间:
2014-06-12 21:36:20
阅读次数:
338
继承和组合都可以达到代码复用的目的,但是组合比继承更具灵活性。组合是通过引用已有类(一般为抽象类)或接口来实现复用的组合在运行时通过多态可以动态替换被组合的对象。继承是通过以子类继承父类方式来使父类的非私有成员可以被其子类使用。继承在类编译时就确定了继承来的方法和属性,无法在运行时动态改变从父类继承...
分类:
其他好文 时间:
2014-05-31 16:52:23
阅读次数:
196
类可以重载python的操作符操作符重载使我们的对象与内置的一样。__X__的名字的方法是特殊的挂钩(hook),python通过这种特殊的命名来拦截操作符,以实现重载。
python在计算操作符时会自动调用这样的方法,例如:如果对象继承了__add__方法,当它出现在+表达式中时会调用这个方法。通...
分类:
编程语言 时间:
2014-05-27 23:55:37
阅读次数:
416
当你调用这个对象的方法MyObject.method(arg1,
arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1,
arg2)——这就是self的原理了。2.__init____init__ 方法名别写错了!__init__ 用来定义变量的se...
分类:
编程语言 时间:
2014-05-22 03:12:56
阅读次数:
266
六、鉴别器 在"一棵对象继承树对应一个表"的策略中,元素是必需的, 它定义了表的鉴别器字段。
鉴别器字段包含标志值,用于告知持久化层应该为某个特定的行创建哪一个子类的实例。
如下这些受到限制的类型可以使用:String,Char,Int32,Byte,Short,Boolean,YesNo,Tru....
分类:
系统相关 时间:
2014-05-20 08:18:05
阅读次数:
703