程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

让我陷入思考的问题:怎么从本质上理解面向对象的编程思想?

balukai 2025-06-03 20:19:42 文章精选 5 ℃

这段时间在家带孩子,没什么时间写作,果然,带娃能让你什么都做不了,因此打算复习面向对象编程,

怎么从本质上理解面向对象的编程思想?--知乎,本来我只想轻松复习下我理解的面向对象编程,看完后,我感觉之前的理解简直就是傻叉,仅仅以为面向对象就是用类来模拟人解决问题的方式。

原来,面向对象先是一种设计思想,架构风格。产生面向对象的原因先是计算机的发展,软件的规模和种类增长很大,原来的面向过程难以满足大规模工程化,于是就产生了面向对象编程的设计。

应对频繁的需求变化,面向对象编程因为灵活,模块化等特点,能让不同的程序员一起协同架起庞大复杂的软件。

代码是给人看的,只是偶尔给机器运行一下。

那面向对象有什么特点

  • 一种设计思想,能组织庞大的架构。
  • 封装,继承,多态(答案里有不少大佬是喷这个特点)。
  • 面向对象是一种比较贴近现实世界的分析问题的方法。其次面向对象还是一种系统设计的方法。本质上它是一种思维方式。(人类的思维不单单一种)。
  • 类只是现实面向对象的一种方式。包含了相关的数据(变量)和方法(类方法)的集合)。面向对象是一种程序设计风格(style)。
  • 面向对象是一种 对现实世界理解和抽象的方法。

以上是31个答案中我比较能理解的特点,原先以为就是用类来表达面向对象,简直太肤浅。现在有面向对象编程思维的扩充,我所追求的代码包含了以下特点:

  • 模块化,这样容易代码复用,少造轮子。
  • 容易阅读,毕竟代码是给人看的,机器只是偶尔运行一下。

以上就是目前我对程序的一些肤浅看法。

如何使用面向对象编程?

以我目前肤浅的思想,这让我想起pygame的,精灵类sprite,在pygame中,英雄,敌人,背景,图片都可以是精灵类。在新手学习面向对象的时候,可以参考。

解决一个问题的时候,适当训练下如何通过对象这个模型,把问题用类来解决,把数据和方法封装到一起。

思考一个问题的时候,可以通过面向过程和面向对象来思考,比如爬虫,我之前看到一份代码,把session封装到一个类中,还把爬虫的代码用类封装,我忽然觉得这东西可以拿来复用,事实上确实也可以(就是抢购茅台的python脚本爬虫文件)。

也可以看看另一个知乎的问题:面向对象编程的弊端是什么?。

最近发表
标签列表