3. 继承
继承允许一个类(子类)基于另一个类(父类或基类)创建,并继承父类的属性和方法。
通过继承,子类可以复用父类的代码,并可以扩展或修改父类的行为。
语法
class 类名(基类1,基类2,...):
语句块
类名后面括号和内部的类名称之为继承列表。
说明
- 如果不写继承列表,则新类继承自object类
继承的目的
-
代码复用:
- 子类公用的方法和属性提取出来放入父类,提高代码的复用性。
-
扩展功能:
- 子类可以在父类的基础上添加新的属性和方法。
-
多态性:
- 子类可以重写父类的方法,实现不同的行为。
示例
# 继承示例
class Human:
def eat(self, what):
print("吃了", what)
def sleep(self, hour):
print("睡了", hour, "小时")
class Student(Human):
def study(self, subject): # 学习
print("学习:", subject)
class Teacher(Human):
def teach(self, language):
print("教:", language)
h1 = Human()
h1.eat("油条")
h1.sleep(12)
s1 = Student()
s1.eat('鸡蛋')
s1.sleep(7)
s1.study("python")
t1 = Teacher()
t1.eat('胡辣汤')
t1.sleep(8)
t1.teach("面向对象")