Python编程-封装,继承与多态

 更新时间:2022年01月27日 09:58:36   作者:howard2005    
这篇文章主要介绍了Python编程-封装,继承与多态,文章主要目的解如何利用封装保护属性、掌握单继承和多继承、会重写和调用父类方法
理解多态的使用等相关介绍,需要的朋友可以参考一下

一、类的封装

为什么需要封装:

  • Python是面向对象的编程语言,因为面向对象中所有的实体都是以对象为基本单位的,以宏观世界的实体来映射到计算机世界中,每个对象有它自己的属性和自己的行为,我们用类来将这些属性和行为封装到一起,当它实例化出来一个对象的时候,我们可以说这个对象具有这些属性性和行为。
  • 对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。
  • 对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。

1、案例演示

编写程序 - 演示属性没有受保护的类.py

运行程序,查看结果:

2、案例分析

上述案例将年龄赋值为一个负数-18,在语法上不会有任何问题,因此程序可以正常运行,但在现实生活中明显是不合理的,一般而言,年龄应该是某个范围内的正整数,比如[1, 120]内的某一个整数值。

3、解决方案

为了避免出现上述不合理的问题,在设计一个Python类时,应该对成员变量的访问作出一些限定,不允许外界随意访问,这就需要实现类的封装。

如何实现封装:

1、封装的定义

类的封装,是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息,而是通过该类所提供的方法来实现对内部信息的操作访问。

2、封装的实现

在定义一个类时,把属性定义为私有属性,即在属性名的前面加上两个下划线,私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供方法来访问,其中包括用于获取属性值的get_xxx()方法(简称getter)和设置属性值的set_xxx()方法(简称setter)。

3、案例演示

编写程序 - 演示私有属性.py

运行程序,查看结果:

直接访问私有属性,看看会是什么情况?

 到此这篇关于Python编程-封装,继承与多态的文章就介绍到这了,更多相关Python封装,继承与多态内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在mac下查找python包存放路径site-packages的实现方法

    在mac下查找python包存放路径site-packages的实现方法

    今天小编就为大家分享一篇在mac下查找python包存放路径site-packages的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • 基于OpenCV4.2实现单目标跟踪

    基于OpenCV4.2实现单目标跟踪

    这篇文章主要介绍了如何和何时使用OpenCV 4.2中可用的8种不同的跟踪器- BOOSTING, MIL, KCF, TLD, MEDIANFLOW, GOTURN, MOSSE和CSRT,并用他们实现单目标跟踪,需要的可以参考一下
    2022-03-03
  • 利用Python实现绘制3D爱心的代码分享

    利用Python实现绘制3D爱心的代码分享

    最近你是否也被李峋的爱心跳动代码所感动,心动不如行动,相同的代码很多,我们今天换一个玩法!构建一个三维的跳动爱心!嗯!这篇博客本着开源的思想!不是说谁对浪漫过敏的
    2022-11-11
  • python利用faker库批量生成测试数据

    python利用faker库批量生成测试数据

    小编经常需要批量测试一些数据,有时候测试环境又暂时没数据,特意找了一下,发现有一个可批量生成数据的python库—-faker,现在就介绍一下它的使用方法,如果你不想一行一行输入代码,小编提供了完整测试代码,见文末代码章节。
    2020-10-10
  • Python圆周率算法不只是3.14更多玩法揭秘

    Python圆周率算法不只是3.14更多玩法揭秘

    本篇博客将引领读者穿越数学、计算和可视化的领域,通过丰富的示例代码,揭示π的独特之处,无论是计算π的各种方法、应用领域中的角色,还是π作为无理数的特性,我们将通过Python的镜头,发现这个数字在数学世界中的非凡之处
    2024-01-01
  • python 留一交叉验证的实例

    python 留一交叉验证的实例

    这篇文章主要介绍了python 留一交叉验证的实例代码,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 在Python中字典根据多项规则排序的方法

    在Python中字典根据多项规则排序的方法

    今天小编就为大家分享一篇在Python中字典根据多项规则排序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python plt 利用subplot 实现在一张画布同时画多张图

    Python plt 利用subplot 实现在一张画布同时画多张图

    这篇文章主要介绍了Python plt 利用subplot 实现在一张画布同时画多张图,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 在终端启动Python时报错的解决方案

    在终端启动Python时报错的解决方案

    这篇文章主要介绍了在终端启动Python时报错的解决方案,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • 利用Python绘制好看的玫瑰花图

    利用Python绘制好看的玫瑰花图

    玫瑰花图是节理统计方式之一,方法简便,形象醒目,比较清楚地反映出主要节理的方向,有助于分析区域构造。本文将用Python绘制好看的玫瑰花图,感兴趣的可以了解一下
    2022-05-05

最新评论