首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【Python】面向对象 - 继承 ① ( 继承概念 | 继承语法 | 单继承与多继承 | 代码示例 )

【Python】面向对象 - 继承 ① ( 继承概念 | 继承语法 | 单继承与多继承 | 代码示例 )

作者头像
韩曙亮
发布2023-10-11 19:48:31
发布2023-10-11 19:48:31
5260
举报

一、继承简介

1、继承概念

继承 是 面向对象 特性之一 , ( 封装 - 继承 - 多态 )

继承 可以 令一个类 从 另一个类 中 继承 该类的 属性 和 方法 ,

继承 属性 和 方法 的类被称为 " 子类 " , 被 继承 的类 称为 " 父类 " 或 " 基类 " ;

2、继承语法

继承语法 :

代码语言:javascript
复制
class 子类类名(父类类名):
	子类内容

父类类名 是 已经存在的 父类 或 基类 的名称 ;

子类类名 是 本次新创建的类类名 ;

该 子类 继承了 父类 所有的 成员属性 和 成员方法 ;

3、单继承与多继承

单继承 指的是 一个子类 继承 一个父类 ;

多继承 指的是 一个子类 继承 多个父类 ;

多继承语法 :

代码语言:javascript
复制
class 子类类名(父类类名1, 父类类名2, .... , 父类类名n):
	子类内容

二、代码示例

1、代码示例 - 单继承

父类 Animal 描述动物 , 只有 name 和 age 两个成员属性 , 在 构造函数 中初始化这两个成员 ;

代码语言:javascript
复制
class Animal:  
    def __init__(self, name, age):  
        self.name = name  
        self.age = age  
  
    def make_sound(self):  
        pass  

子类 Dog 在父类的基础上 , 增加了 color 属性 和 make_sound 函数 ;

代码语言:javascript
复制
class Dog(Animal):
    def __init__(self, name, age, color):
        super().__init__(name, age)
        self.color = color

    def make_sound(self):
        return "汪汪!"

创建 Dog 类实例对象 , 然后打印属性 , 调用成员方法 ;

代码语言:javascript
复制
dog = Dog("大黄", 2, "黑色")
print(dog.name)
print(dog.age)
print(dog.color)
print(dog.make_sound())

完整代码如下 :

代码语言:javascript
复制
"""
面向对象 代码示例
"""


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())

执行结果 :

代码语言:javascript
复制
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 ;

代码语言:javascript
复制
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 两个父类 ;

代码语言:javascript
复制
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 中的成员属性 和 成员方法 ;

代码语言:javascript
复制
dog = Dog("大黄", 2, "黑色")
print(dog.name)
print(dog.age)
print(dog.color)
print(dog.make_sound())
dog.walk()

最终执行结果为 :

代码语言:javascript
复制
大黄
2
黑色
汪汪!
走路

完整代码示例 :

代码语言:javascript
复制
"""
面向对象 代码示例
"""


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()

执行结果 :

代码语言:javascript
复制
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
大黄
2
黑色
汪汪!
走路

Process finished with exit code 0
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、继承简介
    • 1、继承概念
    • 2、继承语法
    • 3、单继承与多继承
  • 二、代码示例
    • 1、代码示例 - 单继承
    • 2、代码示例 - 多继承
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档