Python面向对象编程之继承详解【继承概念、语法、单继承与多继承、代码示例】

文章目录

  • 一、继承简介
  • 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
    
    

    作者:韩曙亮

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python面向对象编程之继承详解【继承概念、语法、单继承与多继承、代码示例】

    发表回复