面向对象三大特征:封装、继承、多态。
我觉得本章的重点在于理解这三大特征都是为了解决什么问题而出现的,带着问题去找答案才能明白,而不仅是人云亦云。
1.封装
为什么要封装?我们生活中的封装的目的是什么?
- 封装就是为了隐藏一些东西不让外人看,被隐藏起来的东西可能是一些校验方法。
- 可以保护隐私,有了授权才允许被访问。
那怎么保护我们的数据不被外人看到?怎么标明它是私有的?这样就引出了私有成员的概念。
- 如何将成员方法和成员变量私有化?
使用“__”下划线标识私有属性和私有方法,但是要注意,有一个问题,上章我们说过python可以动态的增加类的属性,这样的话就会出现伪私有属性
- 如何访问私有变量和私有方法?
使用set和get方法来设置和获取私有变量的属性值。
class Cal:
name = None
__num = None
def __hi(self):