20、什么是面向对象编程?

什么是面向对象编程?

1. 抽象化与日常生活中的例子

日常生活中充满了各种各样的物体。就在我面前的有椅子、桌子、电脑,还有一只红色的星巴克杯子。我可以轻松地根据它们的属性将这些物体分门别类。例如,这只杯子是一个容器,它还是一个保温体,所以我可以用它来装热的或冷的东西,它还有质量,所以我可以用它压纸或者扔向狗。面向对象的编程就是将这种世界观应用到编程中。为了说明我的意思,请让我从一个故事开始讲起。

抽象与微波炉

有时候,当我和儿子一起看足球比赛时,我会快速准备一盘墨西哥玉米片。没有什么特别的,我就是把一些薯片放在盘子里,加上一些炒豆、奶酪和一些墨西哥辣椒,然后整个放进微波炉里加热五分钟。使用烤箱时,我打开门,把玉米片放进去,按前面的几个按钮,然后按下开始键。几分钟后,铃声响起告诉我它们已经做好了。如果我做错了什么,烤箱会发出嘟嘟声并拒绝启动。有时它会在小显示屏上显示一个错误信息。

这听起来并不深奥,实际上它确实不是——直到你考虑到我使用微波炉所做的一切事情:

  • 我只限于微波炉的前面板。我不看内部的机箱。我不查看告诉处理器单元如何操作的代码列表。我不研究贴在机箱内壁上的布线图。
  • 我没有重写任何代码或改变微波炉内部的任何东西来让它工作。我用来做玉米片的微波炉,就是我之前用来加热热狗的同一个微波炉(我家除了健康食品什么都没有)。而它也将是我明天用来加热我的Malt-O-Meal的同一个微波炉(前提是它没坏)。
  • 我在使用微波炉时,并不会考虑它内部可能发生的事情。即使我一生都在设计微波炉,我在大赛前做芝士玉米片时,也不太可能去思考它是如何工作的。

这些并不

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值