一、继承简介
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
今天的文章
python 类的继承_面向对象的三个基本特征分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81089.html