博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

python3 笔记*面向对象设计

Posted on 2018-06-04 16:04  NLFD123  阅读(117)  评论(0)    收藏  举报

将相关的东西放在一起。如果一个函数操作一个全局变量,最好将它们作为一个类的属
性和方法。
不要让对象之间过于亲密。方法应只关心其所属实例的属性,对于其他实例的状态,让
它们自己去管理就好了。
慎用继承,尤其是多重继承。继承有时很有用,但在有些情况下可能带来不必要的复杂
性。要正确地使用多重继承很难,要排除其中的bug更难。
保持简单。让方法短小紧凑。一般而言,应确保大多数方法都能在30秒内读完并理解。
对于其余的方法,尽可能将其篇幅控制在一页或一屏内

确定需要哪些类以及这些类应包含哪些方法时,尝试像下面这样做。
(1) 将有关问题的描述(程序需要做什么)记录下来,并给所有的名词、动词和形容词加
上标记。
(2) 在名词中找出可能的类。
(3) 在动词中找出可能的方法。
(4) 在形容词中找出可能的属性。
(5) 将找出的方法和属性分配给各个类。

有了面向对象模型的草图后,还需考虑类和对象之间的关系(如继承或协作)以及它们的职
责。为进一步改进模型,可像下面这样做。
(1) 记录(或设想)一系列用例,即使用程序的场景,并尽力确保这些用例涵盖了所有的功能。
(2) 透彻而仔细地考虑每个场景,确保模型包含了所需的一切。如果有遗漏,就加上;如果
有不太对的地方,就修改。不断地重复这个过程,直到对模型满意为止。