继承是面向对象的三大特征之一,也是实现代码复用的重要手段。继承经常用于创建和现有类功能类似的新类,又或是新类只需要在现有类基础上添加一些成员(属性和方法),但又不想直接将现有类代码复制给新类。
Python 中,实现继承的类称为子类,被继承的类称为父类(也可称为基类、超类)。子类继承父类的语法是:在定义子类时,将多个父类放在子类之后的圆括号里。语法格式如下:
class 类名(父类1, 父类2, ...): #类定义部分
注意,Python 的继承是多继承机制,即一个子类可以同时拥有多个直接父类。
下面程序示范了子类继承父类的特点。下面是 Fruit 类的代码:
class Fruit: def info(self): print("我是一个水果!重%g克" % self.weight) class Food: def taste(self): print("不同食物的口感不同") # 定义Apple类,继承了Fruit和Food类 class Apple(Fruit, Food): pass # 创建Apple对象 a = Apple() a.weight = 5.6 # 调用Apple对象的info()方法 a.info() # 调用Apple对象的taste()方法 a.taste()
运行结果为:
我是一个水果!重5.6克 不同食物的口感不同
上面程序中,定义了两个父类:Fruit 类和 Food 类,接下来定义了一个 Apple 类,该类本身是空类,但其继承自 Food 类和 Fruit 类。因此,在主程序部分创建了 Apple 对象之后,可以访问 Apple 对象的 info() 和 taste() 方法,这表明 Apple 对象也具有了 info() 和 taste() 方法,这就是继承的作用,即子类扩展(继承)了父类,将可以继承得到父类定义的方法,这样子类就可复用父类的方法了。
更多学习内容,请点击Python学习网。