当前位置:首页 > 物联网 > Freak嵌入式

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

1 类和对象

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

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

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

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

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


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


3 统一建模语言(UML)


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

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

4.编程环境

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

    • 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文件重建。下一节开始,我们就正式进入了教程的主线部分,兄弟们别忘记点点关注!

文档获取


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





本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭