全网最适合入门的面向对象编程教程:01 面向对象编程的基本概念

全网最适合入门的面向对象编程教程:01 面向对象编程的基本概念

以下,我们将简单介绍面向对象编程的基本概念和图形化描述方法,在后面的章节中我们将会辅以具体编程实例进行详细介绍。

1 类和对象

对象是数据及其行为的集合,而类往往用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。例如苹果和橘子属于两个不同类,苹果属于苹果类、橘子属于橘子类。

那么对象和类之间的区别是什么?类是用来描述对象的。它们就像是用来创造对象的蓝图。例如你面前的桌子上放着 3 个橘子,每一个橘子都是一个不同的对象,但这 3 个橘子拥有来自同一类的相同属性和行为,即广义的橘子类。

对象(橘子)是类(橘子类)的实例。

这里,我们可以吃苹果、削苹果、洗苹果,这就是对象中的方法。同时,不同橘子的重量、甜度、价格不同,这就是橘子对象的属性,通常代表一个特定对象的个体特征。

2 面向对象的三大特性继承、多态和封装

这里借用知乎一位大佬的回答,形象的解释:

image

3 统一建模语言(UML)

UML 是统一建模语言的简称,它是一种由一整套图表组成的标准化建模语言。UML 用于帮助系统开发人员阐明,展示,构建和记录软件系统的产出。UML 代表了一系列在大型而复杂系统建模中被证明是成功的做法,是开发面向对象软件和软件开发过程中非常重要的一部分。

对于初学者来讲,掌握 UML 类图和对象图即可,在自己的项目过程中可以使用博思白板等软件绘制 UML 类图。

image
image

4.编程环境

示例代码下列仓库中:

一文速通 Python 面向对象编程-文档示例程序

此文件夹中包括如下文件:

  • DateProcess.py:数据处理类,主要定义了DateProcessClass的属性和方法,定义了DateProcessInterface接口;
  • FileIO.py:文件保存类, 定义了FileIOClass的属性和方法;
  • main.py:主程序,定义了传感器类和主机类的属性和方法,调用其他模块;
  • Parallel.py:Python多线程和多进程相关示例程序;
  • Plot.py:绘图类,定义了PlotClass的属性和方法;
  • Serial.py:串口通信类,定义了SerialClass的属性和方法;
  • environment.yml:虚拟环境配置文件;
  • Object.srctrlprj:可以sourcetrail软件打开,更好的理解代码;
  • test.py:可以忽略;

本文档示例代码主要依赖库及版本号如下:

依赖库 版本号
matplotlib 3.8.4
matplotlib-base 3.8.4
pyqt 5.15.9
pyqtgraph 0.13.7
python 3.12.1
pandas 2.2.0
pillow 10.2.0
pyserial 3.5
zope-interface 6.3

相关环境可以使用 conda 导入示例程序中的 environment.yml 文件重建。

下一节开始,我们就正式进入了教程的主线部分,兄弟们别忘记点点关注!

文档获取

可访问如下链接进行对文档下载:

https://github.com/leezisheng/Doc

image

本文档主要介绍如何使用 Python 进行面向对象编程,需要读者对 Python 语法和单片机开发具有基本了解。相比其他讲解 Python 面向对象编程的博客或书籍而言,本文档更加详细、侧重于嵌入式上位机应用,以上位机和下位机的常见串口数据收发、数据处理、动态图绘制等为应用实例,同时使用 Sourcetrail 代码软件对代码进行可视化阅读便于读者理解。

相关示例代码获取链接如下:

https://github.com/leezisheng/Python-OOP-Demo

image

image

关于文档的更多介绍可看:

学嵌入式的你,还不会面向对象??!

往期推荐:

全网最适合入门的面向对象编程教程:00 面向对象设计方法导论

给你的 Python 加加速:一文速通 Python 并行计算

一文搞懂 CM3 单片机调试原理

肝了半个月,嵌入式技术栈大汇总出炉

电子计算机类比赛的“武林秘籍”

posted @ 2024-06-25 01:44  FreakStudio  阅读(40)  评论(0编辑  收藏  举报