封装 | 继承 | 多态 | Python
Posted 胡说八道
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装 | 继承 | 多态 | Python相关的知识,希望对你有一定的参考价值。
面对对象 1.封装 # 什么是python中的封装? # 使用构造方法将内容封装到对象中,然后通过对象直接或者self间接获取被封装的内容; class Oop(object): def __init__(self): self.name = name self.age = age def get_attrs(self): print(self.name) print(self.age) obj = Oop(‘Mic‘, 18) # 直接获取 print(obj.name, obj.age) # 间接获取 obj.get_attrs() 附:函数式变成与面对对象变成之间有什么区别? # 如果要传入固定参数完成几个不同的事情,对于函数式,每次都要传入同样的参数, # 而OOP只需要将不同的事情作为方法写到一个类中,传入的参数保存到创建的对象里, # 只需要在对象实例化的时候传入参数,接着执行每一个方法都可以用self间接去取; 2.继承 # 什么是继承? # 就是将多个类共有的方法,方法父类中,子类只需要继承父类, # 不需要每个方法在每个类中都写一次; # 多继承 # 新式类与经典类的区别: 1.经典类 class Grandpa: def say(self): print(‘Grandpa‘) class Father(Grandpa): def say(self): print(‘Father‘) class Mother(Grandpa): def say(self): print(‘Mother‘) class Child(Father, Mother): def say(self): print(‘Child‘) # 在创建一个son对象之后,执行say()方法,先到Father类中找say()方法, # 找不到就到上一个父类Grandpa中找,找不到再开始从Mother类中找, # 再找不到就报错; son = Child() a.say() 2.新式类 # 代码与上面基本一致,只是将Grandpa:修改成:‘Grandpa(object):‘; # 执行顺序不同:Father-> Mother-> Granpa -> 报错; 3.多态 # 什么是多态?什么是多态性? # 多态指的是同一事物的多种形态; # 多态性是指一种调用方法,不同执行效果; # 好处:不论对象怎么变,使用者不需要自己修改代码,都是同一形式调用执行; class Mic(object): def write(): print(‘Mic‘) class Tom(object): def write(): print(‘Tom‘) def exe_func(obj): obj.write() obj1 = Mic() obj2 = Tom() # 调用同一个函数,但是执行效果不同,即便修改了write方法,也不需要更换接口; exe_func(obj1) exe_func(obj2)
以上是关于封装 | 继承 | 多态 | Python的主要内容,如果未能解决你的问题,请参考以下文章
Python进阶(十六)----面向对象之~封装,多态,鸭子模型,super原理(单继承原理,多继承原理)