对基于 RT-THREAD 的 RTOS 编程思想的一些理解

面向对象编程思想

面向过程和面向对象是两种最常见的编程思想,但很多刚入门编程的人,甚至是有一定编程经验的人所搞混。我本人其实也不敢保证自己对这两种编程思想的区别有透彻的理解,这里就只说一下我个人对两者的一些见解。

面向过程是大多数初学者刚入门时接触的概念,其特点是以正在发生的事件作为重点进行编程开发。而面向对象则将整个程序中的元素都抽象成了很多个对象,对象之间存在一定的关系(例如继承关系),编程时也更多地关注对象与对象之间的相互影响。

两种编程思想各有其优缺点。简单来说,以面向过程为导向开发出来的程序如果规模较小,那么会比较短小精悍,且效率较高;相反,以面向对象为导向开发的程序因为多了一层逻辑的抽象,且为了使程序的逻辑关系更加的清晰遵循了一些额外的规则,使得最终得到的程序运行效率相对比较低下。然而随着程序规模的不断增加,以面向过程为导向开发的程序很容易就会变得难以扩展和维护,且因为以面向过程开发的程序较难对之前的代码进行复用,导致在出现功能变更的需求时,经常会出现牵一发而动全身,改一个小细节就不得不从头到尾更改代码的地步。而以面向对象为导向开发的程序,因为其高度的模块化,对象之间的互动主要通过预先设计好的接口进行,通常不用在意一个对象具体的细节,所以有较好的可扩展性和可维护性,也方便了阅读代码的人对代码在更宏观的层面上对其进行理解。最终,使得代码的复用变得比较的方便,大大地节省了新功能实现的时间。

很多地方会把不同的编程语言划分为“面向对象的编程语言”和“面向过程的编程语言”,如 C 语言在很多时候就被划分为“面向过程的编程语言”,C++ 很多时候就被认为是一种“面向对象的编程语言”。但这个观点我本人并不赞同,在我看来,使用什么语言和是否面向对象没有绝对的关系,例如用 C 语言编写的 Linux 内核就在实现的过程中运用了很多面向对象的思想,而刚刚入门 C 语言的人在学习了 C++ 以后写出的代码往往还是基于面向过程。所谓“面向对象语言”其实更像是内建了很多方便运用面向对象思维进行编程开发的语法糖,要有效地开发规模较大的程序,无论用什么语言,基本都是摆脱不了面向对象的思维。

“对象”的特点

在面向对象编程中,程序中被抽象出了很多个不同的对象,每个对象都有描述自己状态的属性,和用于更改自身属性或者与外界以及其他对象进行互动的方法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值