文章目录
- 一、继承简介
- 1、继承概念
- 2、继承语法
- 3、单继承与多继承
- 二、代码示例
- 1、代码示例 - 单继承
- 2、代码示例 - 多继承
一、继承简介
1、继承概念
继承 是 面向对象 特性之一 , ( 封装 - 继承 - 多态 )
继承 可以 令一个类 从 另一个类 中 继承 该类的 属性 和 方法 ,
继承 属性 和 方法 的类被称为 " 子类 " , 被 继承 的类 称为 " 父类 " 或 " 基类 " ;
2、继承语法
继承语法 :
class 子类类名(父类类名):
子类内容
父类类名 是 已经存在的 父类 或 基类 的名称 ;
子类类名 是 本次新创建的类类名 ;
该 子类 继承了 父类 所有的 成员属性 和 成员方法 ;
3、单继承与多继承
单继承 指的是 一个子类 继承 一个父类 ;
多继承 指的是 一个子类 继承 多个父类 ;
多继承语法 :
class 子类类名(父类类名1, 父类类名2, .... , 父类类名n):
子类内容
二、代码示例
1、代码示例 - 单继承
父类 Animal 描述动物 , 只有 name 和 age 两个成员属性 , 在 构造函数 中初始化这两个成员 ;
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def make_sound(self):
pass
子类 Dog 在父类的基础上 , 增加了 color 属性 和 make_sound 函数 ;
class Dog(Animal):
def __init__(self, name, age, color):
super().__init__(name, age)
self.color = color
def make_sound(self):
return "汪汪!"
创建 Dog 类实例对象 , 然后打印属性 , 调用成员方法 ;
dog = Dog("大黄", 2, "黑色")
print(dog.name)
print(dog.age)
print(dog.color)
print(dog.make_sound())
完整代码如下 :
"""
面向对象 代码示例
"""
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def make_sound(self):
pass
class Dog(Animal):
def __init__(self, name, age, color):
super().__init__(name, age)
self.color = color
def make_sound(self):
return "汪汪!"
dog = Dog("大黄", 2, "黑色")
print(dog.name)
print(dog.age)
print(dog.color)
print(dog.make_sound())
执行结果 :
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
大黄
2
黑色
汪汪!
Process finished with exit code 0
2、代码示例 - 多继承
定义两个父类 : Animal 和 Walk ;
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def make_sound(self):
pass
class Walk:
def walk(self):
print("走路")
定义子类 Dog , 继承上述 Animal 和 Walk 两个父类 ;
class Dog(Animal, Walk):
def __init__(self, name, age, color):
super().__init__(name, age)
self.color = color
def make_sound(self):
return "汪汪!"
创建 Dog 类实例对象 , 并调用 Animal 和 Walk 中的成员属性 和 成员方法 ;
dog = Dog("大黄", 2, "黑色")
print(dog.name)
print(dog.age)
print(dog.color)
print(dog.make_sound())
dog.walk()
最终执行结果为 :
大黄
2
黑色
汪汪!
走路
完整代码示例 :
"""
面向对象 代码示例
"""
class Animal:
def __init__(self, name, age):
self.name = name
self.age = age
def make_sound(self):
pass
class Walk:
def walk(self):
print("走路")
class Dog(Animal, Walk):
def __init__(self, name, age, color):
super().__init__(name, age)
self.color = color
def make_sound(self):
return "汪汪!"
dog = Dog("大黄", 2, "黑色")
print(dog.name)
print(dog.age)
print(dog.color)
print(dog.make_sound())
dog.walk()
执行结果 :
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
大黄
2
黑色
汪汪!
走路
Process finished with exit code 0