Python中的子类和父类详解
在面向对象编程(OOP)中,类的概念是基础之一。Python作为一个支持面向对象的编程语言,允许使用类来组织和复用代码。其中,子类和父类的关系是实现代码复用和扩展功能的重要手段。
当一个类继承自另一个类,它就被称为一个子类/派生类,继承自父类/基类/超类。它会继承/获取所有类成员(属性和方法)。
父类:提供基本的属性和方法,它定义了一种通用的行为,可以被一个或多个子类继承。
子类:继承父类的属性和方法,同时可以添加新的属性和方法或修改继承来的方法,以实现更具体
# -*- coding: utf-8 -*-
# 定义父类
class Test(object):
def __init__(self, name):
self.name = name
def process(self):
return "hellow word"
# 定义子类
class Dog(Test):
def speak(self):
return "Hi! Comes"
继承能让我们重新使用代码,也能更容易的创建和维护应用。Python支持如下种类的继承:
单继承:一个类继承自单个基类 多继承:一个类继承自多个基类 多级继承:一个类继承自单个基类,后者则继承自另一个基类 分层继承:多个类继承自单个基类 混合继承:两种或多种类型继承的混合
多继承
python的类分为两种类型: 经典类(python2的默认类)和新式类(python3的默认类),经典类在继承的时候采用深度优先的顺序,而新式类的继承顺序则采用广度优先(从左到右)的顺序。
新建四个类(A, B, C, D),其中B和C都继承了A,而D继承了B和C。
新式类继承顺序:D->B->C->A, 广度优先,从左到右。