Py西游攻关之面向对象(二)
面向对象有三大特性:封装,继承,多态
封装
面向对象编程的一个重要特点就是数据封装。
还是依据我们的实例来看:
每个实例都拥有属于自己的属性:brand和color,我们可以定义个函数getAttr()来获取对象的属性值
不过,我们没有必要从外面的函数去访问属性,可以直接在fridge类的内部定义访问数据的函数,这样,就把“数据”给封装起来了。这些封装数据的函数是和Student
类本身是关联起来的,我们称之为类的方法:
这样,我们从外部看Fridge
类,就只需要知道,创建实例需要给出brand和color,而如何打印,都是在Student
类的内部定义的,这些数据和逻辑被“封装”起来了,调用很容易,但却不用知道内部实现的细节。同时,我们还可以为Fridge类封装新的方法:makeColder(),我们同样不需要知道该方法内部是怎样制冷的,而这段逻辑就被封装到其中,供给对象调用。