python学习之面向对象程序设计的一些思考
2024-08-25 17:02:10
将属于一类的对象放在一起:
如果一个函数操纵一个全局变量,那么两者最好都在类内作为特性和方法实现。
不要让对象过于亲密:
方法应该只关心自己实例的特性,让其他实例管理自己的状态。
简单就好:
让方法小巧起来,一般来说,多数方法都应在30秒内被读完,尽量在代码的行数控制在一页或者一屏之内。
小心继承,尤其是多继承:
继承机制有时很有用,但也会在某些情况下让事情变得过于复杂,多继承难以正确使用,更难以调试。
在需要思考用什么类以及类有什么方法时,可以用以下方法。
1:写下问题的描述,把所有的名词、动词和形容词加下划线。
2:对于所有的名词,用作可能的类。
3:对于所有的动词,用作可能的方法。
4:对于所有的形容词,用作可能的特性。
5:将所有的方法和特性分配到类里。
当我们对即将做的事能抽象出一个模糊的对象草图时,就可以考虑类和对象之间的关系以及他们的作用。剩下的就是逐渐的精炼模型。
1:写下一系列的使用实例,也就是程序应用时的场景,试着包含所有的功能。
2:一步步考虑每个使用实例,保证模型包括所有需要的东西。如果有些遗漏的话就添加进去,如果某处不太正确则纠正,直到满意为止。
最新文章
- 新手入门指导:Vue 2.0 的建议学习顺序
- android开发环境搭建(ubuntu15.04+jdk8+eclipse+android sdk)
- Java中的夏令时问题
- JAVA 1.4 算术运算
- _crol_和_cror_函数
- N-Queens | &; N-Queens II
- 优化Linux下的内核TCP参数来提高服务器负载能力
- git and github学习笔记
- android开发之应用Crash自动抓取Log_自动保存崩溃日志到本地
- R语言 系统聚类分析1
- 发送cookie
- 小型Mp3播放器
- Linux进程通信——管道
- source is null for getProperty(null, ";cpmodel";)异常结局
- SublimeText用FileHeader给代码文件生成头部注释
- linux中去掉^M的方法
- docker启动centos7后sudo不能使用
- 自旋锁(Spin Lock)
- CF10D LCIS
- Spring开启方法异步执行