网站首页 > 文章精选 正文
这段时间在家带孩子,没什么时间写作,果然,带娃能让你什么都做不了,因此打算复习面向对象编程,
怎么从本质上理解面向对象的编程思想?--知乎,本来我只想轻松复习下我理解的面向对象编程,看完后,我感觉之前的理解简直就是傻叉,仅仅以为面向对象就是用类来模拟人解决问题的方式。
原来,面向对象先是一种设计思想,架构风格。产生面向对象的原因先是计算机的发展,软件的规模和种类增长很大,原来的面向过程难以满足大规模工程化,于是就产生了面向对象编程的设计。
应对频繁的需求变化,面向对象编程因为灵活,模块化等特点,能让不同的程序员一起协同架起庞大复杂的软件。
代码是给人看的,只是偶尔给机器运行一下。
那面向对象有什么特点
- 一种设计思想,能组织庞大的架构。
- 封装,继承,多态(答案里有不少大佬是喷这个特点)。
- 面向对象是一种比较贴近现实世界的分析问题的方法。其次面向对象还是一种系统设计的方法。本质上它是一种思维方式。(人类的思维不单单一种)。
- 类只是现实面向对象的一种方式。包含了相关的数据(变量)和方法(类方法)的集合)。面向对象是一种程序设计风格(style)。
- 面向对象是一种 对现实世界理解和抽象的方法。
以上是31个答案中我比较能理解的特点,原先以为就是用类来表达面向对象,简直太肤浅。现在有面向对象编程思维的扩充,我所追求的代码包含了以下特点:
- 模块化,这样容易代码复用,少造轮子。
- 容易阅读,毕竟代码是给人看的,机器只是偶尔运行一下。
以上就是目前我对程序的一些肤浅看法。
如何使用面向对象编程?
以我目前肤浅的思想,这让我想起pygame的,精灵类sprite,在pygame中,英雄,敌人,背景,图片都可以是精灵类。在新手学习面向对象的时候,可以参考。
解决一个问题的时候,适当训练下如何通过对象这个模型,把问题用类来解决,把数据和方法封装到一起。
思考一个问题的时候,可以通过面向过程和面向对象来思考,比如爬虫,我之前看到一份代码,把session封装到一个类中,还把爬虫的代码用类封装,我忽然觉得这东西可以拿来复用,事实上确实也可以(就是抢购茅台的python脚本爬虫文件)。
也可以看看另一个知乎的问题:面向对象编程的弊端是什么?。
猜你喜欢
- 2025-06-03 2、Java面向对象编程思想(超详细)
- 2025-06-03 信息系统项目管理师综合知识:面向对象方法
- 2025-06-03 canvas学习和面向对象(二)(canvas详解)
- 2025-06-03 python进阶突破面向对象——四大支柱
- 2025-06-03 Swift 面向对象解析(一)(swift 面向协议编程)
- 2025-06-03 简述JS面向对象编程(个人理解,简易版)
- 2025-06-03 软考系规:面向对象系统分析与设计详解
- 2025-06-03 Python基础篇-面向对象编程(python 面向对象知乎)
- 2025-06-03 此继承非彼继承,今天说的是面向对象的基本特征之一
- 2025-06-03 一张图深入解析面向对象常见概念,秒懂
- 最近发表
-
- 面试中常被问到的Hash表,你了解吗
- JAVA面试考点:一文搞懂一致性Hash的原理和实现
- 一次性搞清楚equals和hashCode(hashcode() 与equals()区别,简单说明)
- HashMap.Key的故事:Key为什么出现Hash碰撞及冲突呢?
- hash冲突的几种解决方案对比(hash冲突的解决方式)
- 游戏王LN 无头骑士(无头骑士cv)
- Linux ln、unlink命令用法(linux link命令详解)
- n和l分不清矫正发音方法,这三步就够了
- golang引用私有gitlab项目代码(golang引入当前包下的文件)
- Instamic:录音领域中的 GoPro,让你想录就录,随心所欲
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)