第十天Python之面向对象(OOP)基本概念

2024-02-21 01:38

本文主要是介绍第十天Python之面向对象(OOP)基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

面向对象编程—— Object Oriented Programming 简写 OOP

目标

  • 了解 面向对象基本概念

一、 面向对象基本概念

  • 我们之前学习的编程方式就是 面向过程
  • 面向过程面向对象,是两种不同的 编程方式
  • 对比 面向过程 的特点,可以更好的了解什么是 面向对象

1. 过程和函数(科普)

  • 过程 是早期的一个编程概念
  • 过程 类似于函数,只能执行,但是没有返回值
  • 函数 不仅能执行,还可以返回结果

2. 面向过程 和 面向对象 基本概念

1)面向过程 —— 怎么做?

  • 把完成某一个需求的 所有步骤 从头到尾 逐步实现
  • 根据开发需求,将某些 功能独立 的代码 封装 成一个又一个 函数
  • 最后完成的代码,就是顺序地调用 不同的函数

特点

  1. 注重 步骤和过程,不注重职责分工
  2. 如果需求复杂,代码会变得很复杂
  3. 开发复杂项目,没有固定的套路,开发难度很大!

在这里插入图片描述
2)面向对象—— 谁来做?
相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法

  1. 在完成某一个需求前,首先确定 职责 —— 要做的事情(方法)
  2. 根据 职责 确定不同的 对象 ,在 对象 内部封装不同的 方法(多个)
  3. 最后完成的代码,就是顺序地让 不同的对象 调用 不同的方法

特点

  1. 注重 对象和职责 ,不同的对象承担不同的职责
  2. 更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路
  3. 需要在面向过程基础上,再学习一些面向对象的语法

在这里插入图片描述

类和对象

目标

  • 类和对象的概念
  • 类和对象的关系
  • 类的设计

一、类和对象的概念

对象面向对象编程的 两个 核心概念

1. 类

  • 是对一群具有 相同 特征 或者 行为 的事物的一个统称,是抽象的,不能直接使用
    - 特征 被称为 属性
    - 行为 被称为 方法
  • 就相当于制造飞机时的 图纸,是一个 模板 ,是 负责创建对象的

在这里插入图片描述

2. 对象

  • 对象 是 **由类创建出来的一个具体存在,**可以直接使用
  • 哪一个类 创建出来的 对象,就拥有在 哪一个类 中定义的:
    - 属性
    - 方法
  • 对象 就相当于用 图纸 制造 的飞机

在程序开发中,应该 先有类,再有对象
在这里插入图片描述

二、类和对象的关系

  • 类是模板,对象 是根据 这个模板创建出来的,应该 先有类,再有对象
  • 只有一个,而 对象 可以有很多个
    - 不同的对象 之间 属性 可能会各不相同
  • 中定义了什么 属性和方法,对象 中就有什么属性和方法,不可能多,也不可能少

三、类的设计
在面向对象开发前,应该首先分析需求,确定一下,程序中需要包含哪些类!
在这里插入图片描述
在程序开发中,要设计一个类,通常需要满足以下三个要素:

  1. 类名 这类事物的名字,满足大驼峰命名法
  2. 属性 这类事物具有什么样的特征
  3. 方法 这类事物具有什么样的行为

大驼峰命名法
CapWords

  1. 每一个单词的首字母大写
  2. 单词与打次之间没有下划线

1. 类名的确定
名词提炼法 分析 整个业务流程 ,出现的 名词, 通常就是找到的类

2. 属性和方法的确定

  • 对象的特征描述, 通常可以定义成 属性
  • 对象具有的行为(动词),通常可以定义成 方法

提示:需求中没有涉及的属性或者方法在涉及类时,不需要考虑

练习 1

需求

  • 小明 今年 18 岁身高 1.75,每天早上 完步,会去 东西
  • 小美 今年 17 岁身高 1.65, 小美不跑步,小美喜欢 东西

在这里插入图片描述

练习 2

需求

  • 一只 黄颜色狗狗大黄
  • 看见生人 汪汪叫
  • 看见家人 摇尾巴
    在这里插入图片描述

这篇关于第十天Python之面向对象(OOP)基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730196

相关文章

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.