各位老铁们,大家好,今天由我来为大家分享三分钟了解面向对象思维,以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
说到面向对象,其实就是编程的一个小难点。
很多人在学习前面的数据类型、函数、控制流语句的时候都觉得还算顺利,但是到了面向对象的时候就开始迷茫了。根据我的经验,有些同学学习面向对象的过程是这样的:
我不知道为什么会有面向对象的——。我不知道什么时候使用它——我不知道如何使用它——我不需要它。
当面对不懂的东西时,我们都会本能地想要绕开它,但面向对象是一种编程思想,而且不仅仅限于Python。每一种成熟的编程语言都不可避免地包含面向对象的相关概念。技术。所以我们要想真正学好编程,就必须明白什么是面向对象思想。
我们之前写的代码形式其实有一个名字:面向过程编程。面向过程和面向对象编程有什么区别。在准备这篇文章的材料时,我看到《大话设计模式》书中借用了大鸟给小小讲的一个故事,把面向对象解释得很形象:
相传三国时期,曹操率百万大军攻打东吴。大军驻扎在长江赤壁,战船相连。他要灭东吴,统一天下。曹操大喜,便设宴宴请文武百官。席间,曹操变得很有诗意,不自觉地吟诵道:“饮酒作乐,人生如此幸福……”文武百官齐声高呼:“丞相有一首好诗!” ’于是大臣赶紧命印刷工匠刻印出来,以便传遍天下。 ”
当样品拿出来给曹操看时,曹操觉得不妥,说:“喝酒唱歌,这太俗了,应该改成‘边喝酒边唱歌’会更好!”于是大臣下令工匠们看到一整夜的雕刻工作完全白费了,他心里抱怨着。
样品又出来了,请曹操看。曹操仔细一看,觉得还是不行。他说:“生活就是这么精彩”太直接了。问题应该改得更艺术一些,所以改成“对酒歌唱,人生的几何是什么……”……‘当大臣告诉工匠时,工匠晕倒了……’大鸟:‘小彩,你告诉我,这里出了什么问题? ‘
小彩:“是不是因为三国时期还没有发明活字印刷术,所以要改文字,就得重新刻整版呢?” ‘
大鸟:说得好!如果有活字印刷,只需要改四个字符,剩下的工作就不白了。那不是很棒吗?
1.如果要更改,只需更改要更改的单词即可。这是可维护的;
2.这些话用完也不是没有用的。它们可以在后续印刷中重复使用。这是可重复使用的;
3、如果你想给这首诗加字,只需再刻一个字,再加上即可。这是可扩展的;
4. 字符的排列实际上可以是垂直的或水平的。这时只需移动活字即可满足排列要求。这是一个很好的灵活性。 ”在活字印刷出现之前,以上四个特点都无法得到满足。要修改,必须重新刻,要加字,必须重新刻,要重新排列,必须重新刻。本书印刷后,该版本已无再利用价值。 ‘
故事中的工匠们采用的是“注重工艺”的牌匾雕刻。一旦客户的需求发生变化,就需要对原来的版本进行更改。如果变化太大,那么板子很可能就没用了。活字印刷就像古代版本的“面向对象”。无论客户的需求如何变化,都可以非常灵活地进行相应的修改,并且所需的工作量相对于面向流程来说是极低的。
借这个故事,我们来谈谈面向对象中的“类”、“实例”和“继承”。
我们假设有一个工匠已经掌握了活字印刷方法,但是他觉得自己现在的工作效率还不够高,因为有些词有共同点,比如“你”和“他”,这些词有一个共同点。旁边一个人,如果是按照单个字来雕刻的话,重复雕刻单个字就太浪费了,所以他把一些常用的部首雕刻出来,然后和其他单个字组合在一起,这样就不需要雕刻了。单独组合的字符。
在这个例子中,工匠雕刻的单个字符和单个字符放在一起形成一个新的字符。那么这个新的角色就是一个实例,是由工匠雕刻出来的模板制作而成的,这个模板就是类。
关于继承,其实从字面意思我们就可以看出,当前类可以引用其他类中的实例。如果首富现在要求你继承他的部分财产,那么你将有权以他的名义使用该财产。你可以用它来买任何东西。这时候,首富就是你的父阶级,如果你继承了他的部分财产,你就是子阶级。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/189384.html
用户评论
凝残月
这个标题真吸引人!确实,我们日常遇到很多问题都可以用面向对象的方式解决吧?学习一下这方面的东西能提升编程效率吗?
有18位网友表示赞同!
命该如此
三分钟就能了解面向对象思想?看起来有点儿夸张啊,不过可以试试,如果真的简单就太棒了!期待深入学习,多积累一些知识储备。
有11位网友表示赞同!
你tm的滚
我一直对面向对象编程挺感兴趣的,但总是感觉门槛比较高。也许这篇博文能让我更好地入门,看看到底是怎么一回事呢?
有7位网友表示赞同!
十言i
面向对象思想这东西确实很抽象,每次接触都觉得很费劲。希望这篇文章能用通俗易懂的方式讲解,这样更容易理解!
有5位网友表示赞同!
青衫故人
我看了很多关于面向对象的文章,感觉都比较复杂。希望能像这个标题说的那样,简单明了的介绍一下,让我快速入门!
有14位网友表示赞同!
﹏櫻之舞﹏
三分钟就了解了?估计是说初步了解吧,毕竟这种思想其实蛮深奥的!反正我对这段时间有兴趣学习这个内容,希望这篇文章能给我一些启发。
有8位网友表示赞同!
绝版女子
刚开始接触编程,发现很多人都提到了面向对象这方面。正好最近有时间学习一下,看看这篇文章能不能给我一点思路!
有16位网友表示赞同!
自繩自縛
我对OOP一直有些困惑,比如抽象、继承、多态等等概念,都很难理解。希望能通过这篇文章理清自己的思路!
有6位网友表示赞同!
灬一抹丶苍白
觉得三分钟了解面向对象思想很难,这种编程思想要深入学习才能真正掌握。不过还是期待这个博客能带给一些启发!
有5位网友表示赞同!
初阳
我一直以为面向对象编程很复杂,看了标题才发现原来也有简单易懂的讲解方式,太好了!
有14位网友表示赞同!
孤廖
我很喜欢通俗易懂的文章,可以让我更容易理解复杂的技术点。希望这篇博文能够真正做到三分钟了解面向对象思想!
有8位网友表示赞同!
莫失莫忘
三分钟太短了,面向对象思想至少需要花几周甚至几个月才能真正掌握吧? 还是期待这个文章能给我一些入门感!
有16位网友表示赞同!
£烟消云散
我感觉很多编程教学都过于理论化,难以实际操作。希望这篇文章能够结合实例讲解面向对象思想,更直观地帮助我们理解!
有9位网友表示赞同!
一样剩余
我很想学习面向对象编程,因为它更符合现实世界中的问题解决方式吧? 希望这篇博文能让我快速上手!
有13位网友表示赞同!
伪心
其实我之前对面向对象思想的理解还比较模糊,希望能通过这篇文章来加深我的认识。期待一些具体的案例分析!
有13位网友表示赞同!
你身上有刺,别扎我
我已经学习了一些编程语言了,但是对OOP没多大了解。希望这篇文章能帮助我快速入门,并在后续学习中有所收获。
有20位网友表示赞同!
陌潇潇
我觉得三分钟了解面向对象思想有点儿拔高,除非文章非常简洁明了。 不过我还是期待能够从中得到一些启发!
有19位网友表示赞同!
情深至命
我已经学习过一些面向对象编程的概念了,但感觉还有很多知识盲点。希望能通过这篇文章来进一步完善自己的理解。
有10位网友表示赞同!