深入了解Python的继承

 更新时间:2021年12月13日 15:15:51   作者:钢铁男儿  
这篇文章主要为大家介绍了Python 继承,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

面向对象三大特性:

  • 封装 根据 职责 将 属性 和 方法 封装 到一个抽象的 类 中;
  • 继承 实现代码的重用,相同的代码不需要重复的编写;
  • 多态 不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活性;

1、单继承

1.1 继承的概念、语法和特点

继承的概念:子类 拥有 父类 的所有 方法 和 属性;

不使用继承类

class Animal:
   def eat(self):
       print("吃")
   def drink(self):
       print("喝")
   def run(self):
       print("跑")
   def sleep(self):
       print("睡") 
class Dog:
   def eat(self):
        print("吃")
   def drink(self):
        print("喝")
   def run(self):
        print("跑")
   def sleep(self):
        print("睡")
   def bark(self):
        print("汪汪叫") 
# 创建一个对象 - 狗对象
wangcai = Dog() 
wangcai.eat()
wangcai.drink()
wangcai.run()
wangcai.sleep()
wangcai.bark()

1)、继承的语法

class 类名(父类名):
     pass

子类 继承自 父类,可以直接 享受 父类中已经封装好的方法,不需要再次开发;

子类 中应该根据 职责,封装 子类特有的 属性和方法;

使用继承类:

class Animal:
   def eat(self):
       print("吃---")
   def drink(self):
       print("喝---")
   def run(self):
       print("跑---")
   def sleep(self):
       print("睡---") 
class Dog(Animal):
   # 子类拥有父类的所有属性和方法
    # def eat(self):
    #     print("吃")
    #
    # def drink(self):
    #     print("喝")
    #
    # def run(self):
    #     print("跑")
    #
    # def sleep(self):
    #     print("睡")
   def bark(self):
        print("汪汪叫") 
# 创建一个对象 - 狗对象
wangcai = Dog() 
wangcai.eat()
wangcai.drink()
wangcai.run()
wangcai.sleep()
wangcai.bark()

2)、专业术语

Dog 类 Animal 类的子类 ,Animal 类是 Dog 类的父类,Dog 类 从 Animal 类继承;

Dog 类 Animal 类的派生类,Animal 类是 Dog 类的基类,Dog 类从 Animal 类派生;

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • Django之无名分组和有名分组的实现

    Django之无名分组和有名分组的实现

    这篇文章主要介绍了Django之无名分组和有名分组,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • python封装对象实现时间效果

    python封装对象实现时间效果

    这篇文章主要为大家详细介绍了python封装对象实现时间效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2010-10-10
  • Python中的xlrd模块使用原理解析

    Python中的xlrd模块使用原理解析

    这篇文章主要介绍了Python中的xlrd模块原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • python在windows下创建隐藏窗口子进程的方法

    python在windows下创建隐藏窗口子进程的方法

    这篇文章主要介绍了python在windows下创建隐藏窗口子进程的方法,涉及Python使用subprocess模块操作进程的相关技巧,需要的朋友可以参考下
    2015-06-06
  • 详解django中自定义标签和过滤器

    详解django中自定义标签和过滤器

    本篇文章主要介绍了django中自定义标签和过滤器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 简单了解django缓存方式及配置

    简单了解django缓存方式及配置

    这篇文章主要介绍了简单了解django缓存概述及配置,由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,需要的朋友可以参考下
    2019-07-07
  • Python3中在Anaconda环境下安装basemap包

    Python3中在Anaconda环境下安装basemap包

    今天小编就为大家分享一篇关于Python3中在Anaconda环境下安装basemap包的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 浅谈关于Python3中venv虚拟环境

    浅谈关于Python3中venv虚拟环境

    这篇文章主要介绍了浅谈关于Python3中venv虚拟环境,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 解决Python pandas plot输出图形中显示中文乱码问题

    解决Python pandas plot输出图形中显示中文乱码问题

    今天小编就为大家分享一篇解决Python pandas plot输出图形中显示中文乱码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 详解python架构 PyNeuraLogic超越Transformers

    详解python架构 PyNeuraLogic超越Transformers

    这篇文章主要为大家介绍了python使用 PyNeuraLogic超越Transformers示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03

最新评论