Python面向对象的三大特性封装、继承、多态
作者:小旭2021 发布时间:2023-12-11 05:15:52
标签:Python,面向对象,三大特性,封装,继承,多态
Python是一门面向对象的语言。面向对象都有三大特性:封装、继承、多态。
下面分别来说说这三大特性:
1、封装
隐藏对象的属性和实现细节,仅对外提供公共访问方式。在python中用双下划线开头的方式将属性设置成私有的 。
好处:
1. 将变化隔离;
2. 便于使用;
3. 提高复用性;
4. 提高安全性。
2、继承
继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类。
即一个派生类继承基类的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。
例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系 。
python中类的继承分为:单继承和多继承
class ParentClass1: #定义父类
class ParentClass2: #定义父类
class SubClass1(ParentClass1): #单继承,基类是ParentClass1,派生类是SubClass
class SubClass2(ParentClass1,ParentClass2): #python支持多继承,用逗号分隔开多个继承的类
3、多态
一种事物的多种体现形式,函数的重写其实就是多态的一种体现。Python中,多态指的是父类的引用指向子类的对象 。
实现多态的步骤:
1、定义新的子类
2、重写对应的父类方法
3、使用子类的方法直接处理,不调用父类的方法
多态的好处:
(1)增加了程序的灵活性
(2)增加了程序可扩展性
来源:https://www.cnblogs.com/chenyablog/p/15164804.html


猜你喜欢
- python 3.4 所写爬虫仅仅是个demo,以百度图片首页图片为例。能跑出图片上的图片;使用 eclipse pydev 编写:from
- 1、需要模块以及测试工具模块名:pyserial使用命令下载:python -m pip install pyserial串口调试工具:ss
- 需求是:针对三篇英文文章进行分析,计算出现次数最多的 10 个单词逻辑很清晰简单,不算难, 使用 python 读取多个 txt 文件,将文
- 本文实例讲述了Python多线程通信queue队列用法。分享给大家供大家参考,具体如下:queue:什么是队列:是一种特殊的结构,类似于列表
- 近日,某个QQ 群里的一个朋友提出一个问题,如何将一个DB 的表结构同步给另一个DB。针对这个问题,我进行了思考与实践,具体的实现代码如下所
- 在写一个多线程类的时候调用报错 RuntimeError: thread.__init__() not calledclass Notify
- 目录1.用途2.语法3.实操1.用途通常,如果发生错误,脚本就会立即停止,并在控制台将错误打印出来。有了这个语句就可以捕获错误并执行合理操作
- GOPATH设置go 命令依赖一个重要的环境变量:$GOPATH1(注:这个不是Go安装目录。下面以笔者的工作目录为说明,请替换自己机器上的
- 列表推导(list comprehensions)场景1:将一个三维列表中所有一维数据为a的元素合并,组成新的二维列表。最简单的方法:新建列
- 在前面的博文中,我们介绍了如何通过软件模拟实现共享磁盘(https://www.jb51.net/network/592807.html),
- python解释器运行代码的流程启动python解释器(相当于文本编辑器)打开文件,显示这个字符并检查语法(涉及字符编码, a=1只是一个很
- 这也许是学习一门语言时大家都会问的一个问题,其实我个人认为无所谓哪个最好,关键在于哪个用着顺手,方便。还有很多人乐于去做排名,去看排名,哪个
- 可以加上时间判断,让程序在固定的时间启动。#coding=utf-8#!/usr/bin/pythonimport osdef open_a
- 用法分析 在查看SRGAN源码时有如下损失函数,其中设置了retain_graph=True,其作用是什么?################
- 本文实例讲述了JS扩展方法实现技巧。分享给大家供大家参考。具体分析如下:JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对
- 车牌识别在高速公路中有着广泛的应用,比如我们常见的电子收费(ETC)系统和交通违章车辆的检测,除此之外像小区或地下车库门禁也会用到,基本上凡
- 我们在平常的系统开发中常常会遇到像无限级分类这样的树型结构数据,现提供一个可用的数据库存储过程,可以完成树型结构数据的排序。环境:windo
- logging模块logging模块用于输出运行日志,可以设置不同的日志等级,保存信息到日志文件中等。 相比print,logging可以设
- 1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxE
- 树树(Tree)是n(n≥0)个节点的有限集。在任意一棵树中:(1)有且仅有一个特定的称为根(Root)的节点;(2)当n>1