多态、封装和面向对象概念总结

多态

一切皆对象,不同的对象用相同的方法,产生不同的结果

str()工厂函数,面向对象的类相当于工厂,产生一个个实例

len(str1)——》str1.__len__()

len(l)——》l.__len__()

多态:运行的时候绑定状态,继承同一个父类,统一的接口多种形态,接口就是函数

类的继承有两种意义,1、改变  2、扩展 ,多态就是类的这两层意义的一个具体的实现机制,即调用不同的类实例化得对象下的相同的方法,实现的过程不一样,python中的标准类型(各个数据类型的len方法)就是多态概念的一个很好的示范。

多态是由继承而来,多态是继承的一种体现方式

继承好处:减少代码重用,必须要有一个机制使用,这个机制就是多态

封装

面向对象三大特性:封装、多态、继承

多态实质上是继承的实现细节,那么让多态与封装、继承两个概念并列,显然不符合逻辑

封装的意义在于隐藏,本质上区分内外

与python的约定,属性是单下划线开头的就是隐藏起来的,外部不能调用,属性是双下划线开头,python会自动重命名__类名__属性名,都不会限制外部访问

封装:第一个层面的封装,类就是麻袋,这本身就是一种封装

   第二个层面的封装,类中定义私有的,只在类的内部使用,外部无法访问,这只是一种约定,并不会限制真正的访问。通过单下划线和多下划线。

   第三个层面的封装:明确区分内外,内部的实现逻辑,外部无法知晓,并且为封装到内部的逻辑提供一个访问接口给外部使用,称接口函数或访问函数

面向对象概念总结

 

猜你喜欢

转载自www.cnblogs.com/jintian/p/10920824.html