定义:在面向对象中,将父类的属性继承到子类的方法称为继承。
优点:减少代码,增加代码的复用功能,同时可以设置类与类直接的关系。
特点:
- 所有的类继承自对象类(object)。
- 子类可以使用父类中除私有成员之外的所有东西。
- 子类通过引用关系进行访问和调用父类的成员。
- 可以在子类中定义唯一的成员属性和方法。
- 如果子类中定义的成员与父类的成员相同,则覆盖父类成员。
- 如果子类想要扩展父类的方法,它可以在定义代码重用的新方法时访问父类的成员。
# 定义父类
class Book:
def __init__(self,name,author):
self.name = name
self.author = author
def print_book(self):
print("书的名称是%s,书的作者是%s" %(self.name,self.author))
# 定义子类
class Novel(Book):
# 继承构造方法
def __init__(self,name,author,category):
Book.__init__(self,name,author)
self.category = category
# 重写父类方法
def print_book(self):
print("书的名称是%s,书的作者是%s,书的类别是%s" %(self.name,self.author,self.category))
if __name__ == "__main__":
# 父类实例化
b = Book("三国演义","罗贯中")
b.print_book()
# 子类实例化
novel = Novel("三国演义","罗贯中","小说")
novel.print_book()