8.3 类的封装
已经有变量和函数的情况下,为什么还需要类呢?
类是一种编程思想,它是现实世界事物的抽象化。
例如下面的代码,用来描述一本书:
name='资治通鉴'number=523author='司马光'intro='资治通鉴是由北宋史学家司马光主编的一部多卷本编年体史书'
如果程序需要列举两本书,那第二本书就需要这样命名:
name='资治通鉴'number=523author='司马光'intro='资治通鉴是由北宋史学家司马光主编的一部多卷本编年体史书'name2='史记'number2=238author2='司马迁'intro2='无韵之离骚,史家之绝唱'
第二本书的所有变量都要和第一本不一样,这显得有点笨拙,如果是10本书,那就肯定要写更多的变量,以及更难维护的代码——因为这些变量并没有紧密的关系,只是通过命名来表示是同一本书的属性。
如果用类来处理,那就优雅多了:
class Book: name='' number=0 author='' intro=''book1=Book()book1.name='资治通鉴'book1.number=523book1.author='司马光'book1.intro='资治通鉴是由北宋史学家司马光主编的一部多卷本编年体史书'book2=Book()book2.name='史记'book2.number=238book2.author='司马迁'book2.intro='无韵之离骚,史家之绝唱'
把数据和函数写到一个类里面,从而在属性和功能上构成这个物体,称之为类的封装。然后最小的数据单元,就变成了对象(对象是类的一个实例),这个对象可以调用它自己的成员函数,这种编程方法称为面向对象。
如果最小的数据单元是基本变量,它们离散存在,传递到一个个函数中完成功能,这种编程方法称为面向过程。过程泛指函数。