面向对象的三大特征:
1、封装
将一类物体的相同属性和行为归纳到一起,封装成为一个变量或者函数,对外只提供相关的接口,从而便于数据的显示和调用。
如: Django中各种模块:views, urls等,把同种类型的属性和方法进行封装在一个类中,方便集中管理和调用
2、继承
子类继承父类的,目的是为了获取父类的方法,从而减少子类的代码编写量。
如: rest_framework中的APIView 集市继承了Django的View, 除了继承父类的相关方法外,还可以添加相关的方法
3、多态
一种父类,可以存着的多种形态,比如车,可以拥有小车,拖拉机车,客运车等不同的形态,当传入不同的形态后,执行不同形态的逻辑。
如:鸭子模型, 只要具有鸭子类型拥有的动作和行为,都可以被称作为鸭子,我们不在乎实体是不是鸭子,而只是在乎它拥有的功能。
java解释: 父类的引用指向子类的对象从而具有了子类的方法。