28.面向对象的三大特征之多态和封装
多态:
python天生支持多态。
多态的广义理解:一个事物,文件有多种形态。
函数参数传入以及定义时不需要刻意的强调传入参数的数据类型,不同类中的同名方法,在执行时,在子类中执行可以有不同的结果。
鸭子类型:
python崇尚鸭子类型:不崇尚根据继承所带来的相似。
鸭子类型:如果需要实现的功能与已经写好的代码功能相同。不赞成通过继承来获得相同的功能。我只要实现我自己的功能代码就好了,并不产生父类的子类的兄弟关系。
举例:tuple和list两个数据都很多相似的功能,切片功能和索引功能,这种相似,是自己类中的代码约束的,而不是通过父类约束的。
优点:松耦合,每个相似的类之间都没有影响
缺点:太随意了,只能靠自觉
封装:
广义上面向对象的封装:
保护代码,面向对象的思想本身就是一种封装,只让自己的对象能调用自己类中的方法。
侠义上面向对象的封装:
面向对象的三大特性之一,把属性和方法都藏起来,不让别人去用。

浙公网安备 33010602011771号