Python面向对象编程

面向对象的三个基本特征:

  1. 封装
  2. 继承
  3. 多态
封装

将客观事物用属性和方法表示成类。客观事物对应现实生活中的各种事物,属性和方法为计算机中对应事物的表示形式和动作。

  • 属性包括类属性和实例属性。其中类属性为该模版对象共有的属性参数,如计算圆面积时的pi,实例属性对应个体的具体参数,如半径。
  • 方法包括实例方法、类方法和静态方法。类方法和静态方法为该类相关的功能函数,如数据有效性的判定,数据的预处理等。类的方法本质上是函数,只是增加了self或者cls参数。其中实例方法为实例化对象直接调用的方法,体现在该方法的第一个参数形式为self(实例对象本身),类方法和静态方法是通过模版对象调用的方法,其中类方法为使用@classmethod装饰器修饰的方法,该方法的第一个参数不是self,而是cls(模版对象);静态方法使用@staticmethod装饰器修饰的方法,该方法的参数中没有self和cls,参数同函数参数个数。

继承

用于表示子类和父类之间的关系,是一种包含与被包含的关系。根据相关位置关系可以分为:单一继承、多重继承、多级继承。

  • 单一继承(单继承),指子类仅有一个父类的情况,如猫是动物的子类。此时父类的初始化可以通过super().__init__
  • 多重继承(多继承),指子类具有多个父类的情况,如大学生继承于青年人和学生,田园犬继承于犬类和食肉动物类等。
  • 多级继承,指子类的父类也是继承来的,如人——>学生——>大学生,汽车——>货车——>重型货车。

多态

针对1个接口通过不同的方式进行实现。与类的继承密不可分,如动物类中的call方法内容为空,子类猫和狗分别实现call方法,就是一种多态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS系统中设置IP地址的方式和存在的问题

在CentOS系统中设置IP地址通常涉及以下步骤: 打开网络接口配置文件: 使用文本编辑器(如vi、nano或emacs)打开 /etc/sysconfig/network-scripts/ifcfg-eth0 文件。这里的"eth0"是网卡的名称,如果你的系统中有…

元旦档首日票房超4.69亿,“下雪场尴尬”上热搜!

哇塞,元旦假期终于来啦!🎉在这个喜庆的时刻,电影院也热闹非凡,据猫眼专业版数据显示,截至12月30日,2023年元旦档首日票房竟然超过了4.69亿!这简直是个天文数字啊!&#x…

C++:stack、queue、priority_queue增删查改模拟实现、deque底层原理

C:stack、queue、priority_queue增删查改模拟实现 前言一、Cstack的介绍和使用1.1 引言1.2 satck模拟实现 二、Cqueue的介绍和使用2.1 引言2.2 queue增删查改模拟实现 三、STL标准库中stack和queue的底层结构:deque3.1 deque的简单介绍(了解)3.2 deque的缺陷3.3 为什么选择dequ…

【2023 —— 我和CSDN相遇的第一年】— “技术学习和个人成长的回顾与展望”

​ ​ 🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 🎊对2023的总结与回顾🎊 🏅获奖记录 📚学…

springboot定时执行某个任务

springboot定时执行某个任务 要定时执行的方法加上Schedule注解 括号内跟 cron表达式 “ 30 15 10 * * ?” 代表秒 分 时 日 月 周几 启动类上加上EnableScheduling 注释

SpringBoot实用篇

SpringBoot实用篇 1、热部署 什么是热部署? 所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。对于Java应用程序来说,热部署就是在运行时更新Java类文件。 热部署有什么用? 节约时间,热…

GoLang刷题之leetcode

题目283:移动0 题目描述: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作 题解: func moveZeroes(num…

OpenGL FXAA抗锯齿算法(Qt)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 之前已经提供了使用VCG读取Mesh的方式,接下来就需要针对读取的网格数据进行一些渲染操作了。在绘制Mesh数据时总会遇到图形的抗锯齿问题,OpenGL本身已经为我们提供了一种MSAA技术,但该技术对于一些实时渲染性能有…

微服务(9)

目录 41.什么是Heapster? 42.什么是Minikube? 43.什么是Kubectl? 44.kube apiserver和kube scheduler的作用是什么? 45.请你说一下kubernetes针对pod资源对象的健康检测机制? 41.什么是Heapster? Heapster是由每个节点上运行的Kubelet提供的集…

【STM32】SPI通信

1 SPI通信 SPI(Serial Peripheral Interface,串行外设接口)是由Motorola公司开发的一种通用数据总线 四根通信线:SCK(Serial Clock,串行时钟)、MOSI(Master Output Slave Input&am…

模型 KANO卡诺模型

本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。需求分析。 1 卡诺模型的应用 1.1 餐厅需求分析故事 假设你经营一家餐厅,你想了解客户对你的服务质量的满意度。你可以使用卡诺模型来收集客户的反馈,并分析客户的…

微信小程序开发系列-09自定义组件样式特性

微信小程序开发系列目录 《微信小程序开发系列-01创建一个最小的小程序项目》《微信小程序开发系列-02注册小程序》《微信小程序开发系列-03全局配置中的“window”和“tabBar”》《微信小程序开发系列-04获取用户图像和昵称》《微信小程序开发系列-05登录小程序》《微信小程序…

快速找回误删的文件:2024 年顶级数据恢复软件大盘点

你曾经遇到过数据丢失的问题吗?别担心,12个最佳数据恢复软件帮你恢复。 计算机中的数据恢复是从辅助存储、丢失的文件或介质中恢复已删除、不可恢复、损坏、损坏和格式化的数据的过程。存储的数据可以通过正常方式带回到同一个地方,甚至&…

模版匹配历劫之路2-探究空间金字塔对于匹配速度的影响

1 方法一 在合适的金字塔层数上,低步长旋转角度,逐层缩小旋转范围,达到提高匹配速度的效果 金字塔越高,模版越模糊,但是只要模版不会被降级很严重,那么模版的边缘方向不会受到太大的影响。高层级别的金字塔…

简单的springboot项目

传参方式 URL 传参 URL 传参的两种常见方式是通过查询参数和路径参数。 查询参数: 查询参数是通过在 URL 后面使用 ? 字符,然后以 keyvalue 的形式添加到 URL 中。多个查询参数之间使用 & 符号分隔。例如:https://example.com/api?…

【网络安全 | Misc】normal_png

方法一 可以通过stegsolve或winhex看到图片高度被改写: 改为: 再保存图片即可: flag{B8B68DD7007B1E406F3DF624440D31E0}方法二 使用脚本查看宽高是否被修改: import zlib import struct import argparse import itertoolspars…

R_handbook_基本函数

1 导入数据 # 导入数据 setwd("E:\\FOR_Study\\Daniel_File\\about_Study\\Junior\\Data_Science\\Data") load("ch2_sample.RData")# 文件名读入 data <- read.table("v6.csv", header T, sep ",")2 数据离散化 # 连续数据离散化…

Java强软弱虚引用

面试&#xff1a; 1.强引用&#xff0c;软引用&#xff0c;弱引用&#xff0c;虚引用分别是什么&#xff1f; 2.软引用和弱引用适用的场景&#xff1f; 3.你知道弱引用的话&#xff0c;能谈谈WeakHashMap吗&#xff1f; 目录 一、Java引用 1、强引用&#xff08;默认支持模式…

MySQL中常用的用户授权操作

mysql 用户授权 1 &#xff09;概述 让每个应用程序&#xff0c;单独开一个mysql的用户权限所有mysql用户存储在 mysql库的user表中 2 ) 多种用户授权方式示例 show databases; use mysql;select user, authentication_string, host from mysql.user;-- 创建和删除用户 -- c…

浏览器强缓存和协商缓存

强缓存是什么&#xff1f; 强缓存是利用 http 的返回头中的 Expires 或者 Cache-Control 两个字段来控制的&#xff0c;用来表示资源的缓存时间 Expires 缓存过期时间&#xff0c;用来指定资源到期的时间&#xff0c;是服务器端的具体的时间点。也就是说&#xff0c;Expiresmax…