面向对象设计Object Oriented Design】的更多相关文章

http://www.codeproject.com/Articles/93369/How-I-explained-OOD-to-my-wife http://www.cnblogs.com/niyw/archive/2011/01/25/1940603.html 中文翻译的版本…
参考:OOP NOTE 1.面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 2.面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度. 3.面向对象的程序设计把计算机程序视为一组对象的集合,每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程…
Object Oriented Design is the concept that forces programmers to plan out their code in order to have a better flowing program. The origins of object oriented design is debated, but the first languages that supported it included Simula and SmallTalk.…
前言 OOD简介 Shubho:亲爱的,让我们开始学习OOD吧.你了解面向对象原则吗? Farhana:你是说封装,继承,多态对吗?我知道的. Shubho:好,我希望你已了解如何使用类和对象.今天我们学习OOD. Farhana:等一下.面向对象原则对面向对象编程(OOP)来说不够吗?我的意思是我会定义类,并封装属性和方法.我也能根据类的关系定义它们之间的层次.如果是,那么还有什么? Shubho:问得好.面向对象原则和OOD实际上是两个不同的方面.让我给你举个实际生活中的例子帮你弄明白.  …
参考:多重继承 NOTE #!/usr/bin/env python3 class Animal(object): def __init__(self, name): self.name = name def getname(self): print(self.name) class Fly(object): def __init__(self): pass def getfly(self): print('could fly') class Bird(Animal, Fly): pass de…
把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度. 一:封装(类内的事) 对于类的方法而言,对外只知道功能隐藏细节 假设我们要处理学生的成绩表,为了表示一个学生的成绩,面向过程的程序可以用一个dict表示: #面向程序 std1 = { 'name': 'Michael', 'score': 98 } std2…
参考:使用元类 NOTE: type() 1.type()函数可以用于检查一个类或者变量的类型. #!/usr/bin/env python3 class Myclass(object): """docstring for Myclass""" def __init__(self): super(Myclass, self).__init__() def func(self): pass def main(): h = Myclass() pri…
参考:@property NOTE 1.在绑定参数时,为了避免对属性不符合逻辑的操作,需要对传入的参数进行审核. #!/usr/bin/env python3 class MyClass(object): """docstring for MyClass""" def __init__(self): super(MyClass, self).__init__() def set_Attr(self, score): if score >=…
参考:slots NOTE 1.动态语言灵活绑定属性及方法. #!/usr/bin/env python3 class MyClass(object): def __init__(self): pass def func(obj): print(obj.name, obj.age) def main(): h = MyClass() h.name = 'Chen' h.age = '20' func(h) if __name__ == '__main__': main() 给对象h绑定了属性na…
参考:实例属性和类属性 NOTE Python是动态语言,根据类创建的实例可以任意绑定属性. class Student(object): def __init__(self, name): self.name = name a = Student('Chen') a.score = 90 同时,也可以直接给类绑定一个属性: class Student(object): name = 'Student' 当我们定义了一个类属性后,这个属性虽然归类所有,但类的所有实例都可以访问到. >>>…