保护对象的属性
__del__方法
继承介绍和单继承
在程序中,继承描述的是事物之间的所属关系,例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物;同理,波斯猫和巴厘猫都继承自猫,而沙皮狗和斑点狗都继承足够,如下如所示:
继承实例
多继承
从图中能够看出,所谓多继承,即子类有多个父类,并且具有它们的特征
Python中多继承的格式如下:
重写父类方法和调用父类方法
1. 重写父类方法
所谓重写,就是子类中,有一个和父类相同名字的方法,在子类中的方法会覆盖掉父类中同名的方法
2. 调用父类方法
多态
多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚“鸭子类型”。
所谓多态:定义时的类型和运行时的类型不一样,此时就成为多态
1、Python伪代码实现Java或C#的多态
类属性和实例属性
在了解了类基本的东西之后,下面看一下python中这几个概念的区别
先来谈一下类属性和实例属性
在前面的例子中我们接触到的就是实例属性(对象属性),顾名思义,类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本,这个和C++中类的静态成员变量有点类似。对于公有的类属性,在类外可以通过类对象和实例对象访问
1、类属性
2、实例属性
3、通过实例(对象)去修改类属性
静态方法和类方法
1、类方法
是类对象所拥有的方法,需要用修饰器来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以作为第一个参数(当然可以用其他名称的变量作为其第一个参数,但是大部分人都习惯以'cls'作为第一个参数的名字,就最好用'cls'了),能够通过实例对象和类对象去访问。
类方法还有一个用途就是可以对类属性进行修改:
2、静态方法
需要通过修饰器来进行修饰,静态方法不需要多定义参数
继承封装多态是面向对象中非常重要的组成部分
务必牢记用法
领取专属 10元无门槛券
私享最新 技术干货