㑈手机版
  • 首页
  • 英语学习
  • 人物介绍
  • 旅游攻略
  • 汽车知识
  • 电脑数码
  • 生活常识
首页 生活常识

面向对象思想是什么(通俗易懂地解释面向对象思想)

时间:2024-08-10 09:16:02  编辑:力扣LeetCode
面向对象是什么

面向对象 (Object Oriented,OO) 的思想对软件开发相当重要,它的概念和应用甚至已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD 技术、人工智能等领域。面向对象是一种 对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

面向过程 (Procedure Oriented) 是一种 以过程为中心 的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是 封装、继承、类。

无论是在软件开发还是在实际工作中,深入地理解软件开发的思想都非常有必要。



从一场比赛说起

在一个软件村里

有一名资深「面向过程」程序员——老过

和一名「面向对象」信徒——阿对

同时受雇于一家挨踢店


有一天老板突发奇想

决定让这两名程序员进行一次比赛

获胜者将获得一个限量的

360 度全自动按摩椅

编程比赛开始了


不一会,他俩都写出了几乎相同的代码


老过看到新需求,微微一笑

阿对决定让新的收银方式继承 Bill 类

先在 Bill 类中新增 discount 方法

并将其开放

普通的收费方式在 discount

函数中直接返回价格

七夕节的收费方式则继承此类

在 discount 函数中实现打 77折

当老过和阿对同时将程序交给老板时


老过已经开始幻想自己将来

坐在按摩椅上的舒服日子

听到新需求

老过一阵头大

不由在「面向过程天下第一群」中吐槽道

群友也附和说

可不是嘛

就是因为老板这么多需求

才会搞得面向过程的程序一团糟

吐槽归吐槽

老过在 getPrice 函数中

再次增加了条件判断

看着越来越复杂的

Bill 类和 getPrice 方法

老过眉头紧锁

他深知事情远没有结束

中秋和国庆一过

他还需要到这个复杂的类中

删掉打折的方法

天知道老板还会再提

什么天马行空的需求

无论是新增或删除代码,在这个过长的类里做修改都是件不太愉快的事。为了在一个很长的函数中找到需要修改的位置,「面向过程」使得老过不得不浏览大量与修改无关的代码,小心翼翼地修改后,又要反复确认不会影响到类的其他部分。

老过在心底里默默地祈祷

这个类不再需要修改

提交了自己的程序


阿对收到新需求时

先是新增了中秋节支付类

再增加了国庆节支付类

「面向对象」让阿对最喜欢的一点是

有一个好消息要告诉大家!

当老板兴高采烈地说出这句话时

老过和阿对都露出了心惊胆战的表情

这句话往往意味着要更改需求

老过反抗道

但他并没有说出心里另一个小九九

实在不想再去给 Bill 类添加代码了

这次修改老过花了较长的时间才完成

看着那个只属于七夕节的 gifts 变量

老过像看着自己白衬衫上的油渍一样难受

以后每次收费时都会生成一个

只有七夕节才会用到的变量

都是因为老板的需求太奇葩

才让这个程序看起来乱糟糟的

由于这个类做了修改

本来已经测试通过的代码又得重测一遍


阿对打开了 LoversDayBill 类

将其修改如下

当老板看完老过和阿对的代码后

再次兴奋地提出新需求时

老过顿时晕了过去......


比赛真是太焦灼了

最后赢得奖励的是?


第三个参赛者

老板的傻儿子

他完全不会写程序

但他使用 Ctrl+C,Ctrl+V

拷贝了阿对的代码


面试常见考点

在面试中,面向对象的常见考察点是三个基本特征:封装、继承、多态。

  • 封装
  • 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
  • 继承
  • 继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来类的情况下对这些功能进行扩展。通过继承创建的新类称为「子类」或「派生类」,被继承的类称为「基类」、「父类」或「超类」。
  • 要实现继承,可以通过 继承和组合 来实现。
  • 多态性
  • 多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单说就是一句话:允许将子类类型的指针赋值给父类类型的指针。
  • 实现多态,有两种方式,覆盖和重载。两者的区别在于:覆盖在运行时决定,重载是在编译时决定。并且覆盖和重载的机制不同。例如在 Java 中,重载方法的签名必须不同于原先方法的,但对于覆盖签名必须相同。


我对面向对象的理解:面向对象的编程方式使得每一个类都只做一件事。面向过程会让一个类越来越全能,就像一个管家一样做了所有的事。而面向对象像是雇佣了一群职员,每个人做一件小事,各司其职,最终合作共赢!



引申阅读

最后,我们谈谈面向对象有什么好处?

《大话设计模式》中大鸟给小菜讲的故事非常经典:

“话说三国时期,曹操带领百万大军攻打东吴,大军在长江赤壁驻扎,军船连成一片,眼看就要灭掉东吴,统一天下,曹操大悦,于是大宴众文武,在酒席间,曹操诗性大发,不觉吟道:‘喝酒唱歌,人生真爽……’众文武齐呼:‘丞相好诗!’于是一臣子速命印刷工匠刻版印刷,以便流传天下。”

“样张出来给曹操一看,曹操感觉不妥,说道:‘喝与唱,此话过俗,应改为‘对酒当歌’较好!’于是此臣就命工匠重新来过。工匠眼看连夜刻版之工,彻底白费,心中叫苦不迭。只得照办。”

“样张再次出来请曹操过目,曹操细细一品,觉得还是不好,说:‘人生真爽‘太过直接,应改问语才够意境,因此应改为‘对酒当歌,人生几何……’当臣子转告工匠之时,工匠晕倒……”

大鸟:“小菜你说,这里面问题出在哪里?”

小菜:“是不是因为三国时期活字印刷还未发明,所以要改字的时候,就必须要整个刻板全部重新刻。”

大鸟:“说得好!如果是有了活字印刷,则只需更改四个字就可,其余工作都未白做。岂不妙哉。

一、要改,只需更改要改之字,此为可维护;

二、这些字并非用完这次就无用,完全可以在后来的印刷中重复使用,此乃可复用;

三、此诗若要加字,只需另刻字加入即可,这是可扩展;

四、字的排列其实可能是竖排可能是横排,此时只需将活字移动就可做到满足排列需求,此是灵活性好。”

“而在活字印刷术出现之前,上面的四种特性都无法满足,要修改,必须重刻,要加字,必须重刻,要重新排列,必须重刻,印完这本书后,此版已无任何可再利用价值。”

小菜:“是的,小时候我一直奇怪,为何火药、指南针、造纸术都是从无到有,从未知到发现的伟大发明,而活字印刷仅仅是从刻版印刷到活字印刷的一次技术上的进步,为何不是评印刷术为四大发明之一呢?原来活字印刷是思想的成功,面向对象的胜利。”

  • 本文分类:生活常识
  • 浏览次数:100 次浏览
  • 本文链接:https://www.deibaike.com/shenghuochangshi/8bLJjPELEG.html
  • 上一篇 > 充值话费(原来微信隐藏一个充话费很优惠的入口)
  • 下一篇 > 刘备字什么(玄德二字的审美境界是什么?)
相关文章
  • 为什么电工套管有多长(一文教会你选购电工套管)
    装修大计,水电先行,电路作为隐蔽工程,一旦发生事故,轻则全屋短路,重则引发事故。可见做好电线布局十分重要,电线不能直接埋进墙体或者地面,应该进行穿线,防止电线绝缘层受损。因此,一款好的电工套管显得十分重要。然而,市面上的电工套管琳琅满目,如何选择一款性价比高、质量过硬的电工套管成了摆在业主面前的一道[详细]
  • 店里为什么要放植物(5种“招财花”,生意人养上“它”财源滚滚)
    爱养花的朋友来自各个领域,商人也是其中之一。大部分花店都为很多商务场所和家庭提供了各种花卉盆栽。他们对花卉的挑选和摆放都有很高的要求。今天这几种很受商业人士喜爱的花,不仅好看还有好寓意!白掌白掌,也被称为“一帆风顺”,代表着万事顺利。它四季常青,不会掉叶,适合在酸性泥炭土中生长,喜欢半阴半阳的环境,[详细]
  • 为什么紫檀有黑斑(小叶紫檀变色陷阱!)
    小叶紫檀的“变色魔法”让玩家又爱又恨——有人盘出帝王紫,有人却盘成黑煤球!今天从科学原理到实操避坑,手把手教你掌控变色节奏,告别“盘毁”焦虑!一、小叶紫檀颜色进化全阶段新料阶段(0-3个月)橘红色:新切面如新鲜胡萝卜,阳光下泛金属光泽避坑点:警惕染色做旧!真新料颜色鲜活,假货发暗发灰氧化初期(3-6[详细]
  • 酒店为什么都地毯(酒店地毯如何选择)
    地毯是酒店行业普遍使用到的一种软装材料,由于地毯的投入和维护成本较高并随着多种地面材料的出现,如强化地板、同质地垫以及地砖工艺的提高,酒店逐步减少了地毯的使用量,但地毯不可替代的优势,依然无法撼动地毯在酒店行业的应用。地毯有哪些优势呢?美化环境、阻隔灰尘、降低噪音、保温、提升档次等诸多优点,是别的地[详细]
  • 什么化肥好用又安全(种菜还是用这五种肥料)
    作为一种新型的绿色肥料,稀土元素肥料在这几年的农业生产中变得越来越受众人关注。因为这类肥料可以提升作物的生长水平,那么都有哪些肥料呢?用这些肥料种出来的作物又有哪些优势呢?稀土元素肥料。稀土元素肥料是应用了以稀土元素为主的新的化学成分配比合成研制开发出的一种新型绿色肥料。这种肥料是以稀土元素的化合物[详细]
最新推荐
  • 为什么电工套管有多长(一文教会你选购电工套管)
  • 店里为什么要放植物(5种“招财花”,生意人养上“它”财源滚滚)
  • 为什么紫檀有黑斑(小叶紫檀变色陷阱!)
  • 酒店为什么都地毯(酒店地毯如何选择)
  • 什么化肥好用又安全(种菜还是用这五种肥料)
  • 为什么实木也有甲醛(木地板甲醛多久能挥发完?)
  • 为什么鱼池要做循环水(鱼池循环水系统怎么做,循环水有什么好处)
  • 为什么海芋有毒(海芋原来有毒?)
  • 为什么烧水器插头烧焦(电热水器的插头十几分钟就发烫,正常吗?)
  • 为什么会有黑色的花(自然界有黑色的花吗?)
热门推荐
  • 庐山的风景特色:自然之峰与文化之境
  • c盘的东西怎么清理 ?电脑c盘垃圾太多不知道怎么清理一招教你解决
  • 贵州三都县有什么旅游景点?3大传统村落,这里藏着不一样的水族风情
  • 居民医保异地就医怎么办理手续 ,哪些人适用?一文了解→
  • 汽车托运|车辆是如何装载托运的呢?
  • 你知道“get off your high horse的俚语 是什么意思吗?
  • 车保险保费上涨怎么算 走保险还是私了?次年保费涨多少?先报案不理赔”不算出险?
  • c盘temp清理? 电脑越用越卡怎么办?5个方法教你释放C盘空间,瞬间多出几个G
  • kick back俚语”不是踢回去!职场人士一定要懂!
  • 车险第三者二百万保费多少钱 ,买多少合适?老司机算笔账

网站内容来自网络,如有侵权请联系我们,立即删除!
Copyright © 得百科 琼ICP备2023010365号-2