• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python 面向对象编程的三大特性之继承

    Python  面向对象编程的三大特性之继承

    一、继承

    1、继承的实际栗子

    2、继承的好处

    3、继承的使用场景

    具体可以看下面的【不使用继承、使用继承的区别】

    4、继承有几种?

    单继承
    多继承

    5、Python 中继承的简单语法

    class Parent:
        pass
    
    class Child(Parent):
        pass
    
    

    有个重点:

    所有类的都有一个共同父类,就是 object,默认会继承它,写或不写都一样

    class Parent:
        pass
    
    class Parent(object):
        pass
    
    

    二、不使用继承、使用继承的区别

    1、需求背景

    有一个动物类、狗类、猫类

    2、不使用继承

    类图

    需求分析

    实际代码:

    # 不使用继承
    class Animal:
        def eat(self):
            print("吃东西...")
    
        def drink(self):
            print("喝水...")
    
        def run(self):
            print("跑步...")
    
    
    class Cat:
        def eat(self):
            print("吃东西...")
    
        def drink(self):
            print("喝水...")
    
        def run(self):
            print("跑步...")
    
        def miao(self):
            print("喵喵叫...")
    
    
    class Dog:
        def eat(self):
            print("吃东西...")
    
        def drink(self):
            print("喝水...")
    
        def run(self):
            print("跑步...")
    
        def wang(self):
            print("汪汪叫...")
     
    
    

    这样写有什么问题?

    2、使用继承

    类图

    从类图就能看到,使用继承就变得简单多了

    需求分析

    实际代码:

    # 使用继承
    class Animal:
        def eat(self):
            print("吃东西...")
    
        def drink(self):
            print("喝水...")
    
        def run(self):
            print("跑步...")
    
    
    class Cat(Animal):
        def miao(self):
            print("喵喵叫...")
    
    
    class Dog(Animal):
        def wang(self):
            print("汪汪叫...")
     
    
    

    优势:

    专业术语总结

    三、继承的传递性

    1、什么是传递性

    通俗来讲

    官方来讲

    实际栗子:

    类图

    实际代码:

    class Animal:
        def eat(self):
            print("吃东西...")
    
        def drink(self):
            print("喝水...")
    
        def run(self):
            print("跑步...")
    
    
    class Cat(Animal):
        def miao(self):
            print("喵喵叫...")
    
    
    class Dog(Animal):
        def wang(self):
            print("汪汪叫...")
    
    
    class Chai(Dog):
        def shake(self):
            print("小柴柴摇尾巴...")
    
    
    chai = Chai()
    # 调用 父类的父类 的方法
    chai.eat()
    # 调用 父类 的方法
    chai.wang()
    # 调用 自己独有 的方法
    chai.shake()
    
    
    # 输出结果
    吃东西...
    汪汪叫...
    小柴柴摇尾巴...
    
    
    

    四、继承和抽象

    抽象即抽取类似或者说比较像的部分

    小栗子:

    1、继承的重点

    代码栗子:

    class Animal:
        def __init__(self, name, age, sex):
            self.__name = name
            self.__age = age
            self.__sex = sex
    
        # 提取的公共方法
        def eat(self):
            print(f"{self.__name} 正在吃饭....")
    
        @property
        def name(self):
            return self.__name
    
    
    class Person(Animal):
        def walk(self):
            print(f"{self.name} 两条腿正在走路")
    
    
    class Pig(Animal):
        def kill(self):
            print(f"{self.name} 猪正在去屠宰场ing...")
    
    
    class Dog(Animal):
        def wang(self):
            print(f"{self.name} 汪汪叫ing...")
    
    
    person = Person("小菠萝", 25, "Male")
    pig = Pig("麦兜", 4, "公")
    dog = Dog("柴犬", 3, "母")
    
    # 调用父类的公共方法
    person.eat()
    pig.eat()
    dog.eat()
    
    # 调用子类独有的方法
    person.walk()
    pig.kill()
    dog.wang()
    
     
    
    # 输出结果
    小菠萝 正在吃饭....
    麦兜 正在吃饭....
    柴犬 正在吃饭....
    
    小菠萝 两条腿正在走路
    麦兜 猪正在去屠宰场ing...
    柴犬 汪汪叫ing...
    

    以上就是Python  面向对象编程的三大特性之继承的详细内容,更多关于Python  面向对象编程的继承的资料请关注脚本之家其它相关文章!希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Python中关于面向对象概念的详细讲解
    • Python 多继承中的一个诡异现象 既是 Father又是grandfather
    • python接口,继承,重载运算符详解
    • python面向对象之类的继承详解
    • Python中关于面向对象中继承的详细讲解
    上一篇:OpenCV-PS扩散毛玻璃效果的实现代码
    下一篇:python中使用Celery容联云异步发送验证码功能
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python 面向对象编程的三大特性之继承 Python,面向,对象,编程,的,