继承的基本使用
在现实生活中,继承一般指的是子女继承父辈的财产,父辈有的财产,子女能够直接使用。
程序里的继承
继承是面向对象软件设计中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。
- 在程序中,继承描述的是多个类之间的所属关系。
- 如果一个类A里面的属性和方法可以复用,则可以通过继承的方式,传递到类B里。
- 那么类A就是基类,也叫做父类;类B就是派生类,也叫做子类。
class Animal:
def __int__(self):
pass
"""动物类"""
def sleep(self):
print('正在睡觉')
class Dog(Animal):
"""Dog类继承自Animal类"""
def __init__(self):
pass
class Cat(Animal):
"""Cat类继承自Animal类"""
def __int__(self):
pass
# Dog 和 Cat 都继承自Animal类,可以直接使用Animal类里的sleep方法
dog = Dog()
dog.sleep()
cat = Cat()
cat.sleep()
- 定义了一个基类
Animal
,其中包含了一个方法sleep
,用于输出动物正在睡觉。 Dog
类和Cat
类都继承自基类Animal
,通过在类定义时将父类的类名放在括号内实现继承。- 实例化
Dog
类和Cat
类的对象分别为dog
和cat
。 - 调用
dog.sleep()
和cat.sleep()
方法,因为这两个方法来自于父类Animal
,所以子类也能直接使用这些方法。 - 运行结果会依次输出 “正在睡觉”,表示
dog
和cat
都在睡觉。
代码逐行讲解说明:
代码语言:javascript复制class Animal:
def __int__(self):
pass
"""动物类"""
def sleep(self):
print('正在睡觉')
- 定义了一个名为
Animal
的基类,内部包含一个sleep
方法,用于输出动物正在睡觉。
class Dog(Animal):
"""Dog类继承自Animal类"""
def __init__(self):
pass
- 定义了一个名为
Dog
的派生类,继承自基类Animal
。通过将父类的类名放在括号内,实现了继承关系。
class Cat(Animal):
"""Cat类继承自Animal类"""
def __int__(self):
pass
- 定义了一个名为
Cat
的派生类,同样继承自基类Animal
。
# Dog 和 Cat 都继承自Animal类,可以直接使用Animal类里的sleep方法
dog = Dog()
dog.sleep()
cat = Cat()
cat.sleep()
- 创建了一个
Dog
类的对象dog
并调用其sleep()
方法,由于Dog
类继承自Animal
类,因此可以直接使用Animal
类中定义的sleep()
方法。 - 创建了一个
Cat
类的对象cat
并调用其sleep()
方法,同样可以直接复用Animal
类中的sleep()
方法。