断断续续写了几年程序,终于接触到面向对象的编程方式。本文记录与以往编程体验不同的地方
数据和逻辑被封装:
1. 操作外部透明
2. good scalability on methods
3. individualism between instances
封装完成后 考虑权限:
1. 访问限制 __ : 限制外部访问,其实py2.7里把__解读成_ClassName__variableName了。
写到py没有任何机制阻止你干坏事,一切靠自觉
2. 用get method return的方式安全访问
3. 同理 用set 来安全修改,这里可以引入参数检查,看输入是否正确
继承:
1. 新的子类class继承SuperClass: class ClassName(superClass): 子类是 子类和Superclass 两种数据类型
isintance(argu, class)
2. 再定义ChildClass的method,覆盖SuperClass不合适的method
3. 外部操SuperClass的函数,transparency of call childclass
attributes:
do not name the instances attribute same as class attributes.