面向对象的核心关键所在 封装 继承 多态。
一、封装:
概念:将一些属性和相关方法封装在一个对象中,对外隐藏内部具体实现细节。内部实现,外界不需要关心,外界只需要根据内部提供的接口去使用就可以。
优点:
1、使用起来更加方便,因为已经把很多相关的功能,封装成一个整体,类似于像外界提供一个工具箱,针对于不同的场景,使用不同的工具箱就可以。
2、保证数据的安全:针对于安全级别高的数据,可以设置成"私有";可以控制数据为只读,外界无法修改。也可以拦截数据的写操作,进行数据校验和过滤
3、利于代码维护:若后期功能代码需要维护,则直接修改这个类内部代码即可。只要保证接口名称不变,外界不需要作任何代码修改。
二、继承
概念:
现实中的”继承“->子女继承父母的财产资源。
编程中的”继承“:一个类“拥有”另外一个类的 ”资源“的方式之一
“拥有”:并不是资源的复制,变成双份资源,而是,资源的”使用权“。
”资源“:指非私有的属性和方法
Dog类继承自Animal类
目的:方便资源重用
分类:
单继承:
概念:仅仅继承一个父类
语法:
多继承:
概念:继承多个父类
语法:
class Animal:
pass
# 单继承
class XXX(Animal):
pass
# 多继承
class Dog(Animal, XXX):
pass
print(Dog.__bases__)
d = Dog()
print(d.__class__)
print(Dog.__class__)
print(type.__class__)
print(