6. 面向对象的三大支柱
面向对象编程有三大支柱:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。
封装
封装就是:隐藏一切可以隐藏的实现细节,只向外界暴露简单的调用接口。我们在类中定义的对象方法其实就是一种封装,这种封装可以让我们在创建对象之后,只需要给对象发送一个消息就可以执行方法中的代码,也就是说我们在只知道方法的名字和参数(方法的外部视图),不知道方法内部实现细节(方法的内部视图)的情况下就完成了对方法的使用。
在很多场景下,面向对象编程其实就是一个三步走的问题:第一步定义类,第二步创建对象,第三步给对象发消息。有时候我们是不需要第一步的,因为我们想用的类可能已经存在了(如 Python 内置的list、set、dict都是类)。