资讯专栏INFORMATION COLUMN

如果上帝是程序员,他是如何创造世界上所有动物的?

王陆宽 / 1553人阅读

摘要:后来他们谈恋爱并且结婚了,有一天小明调用了自己的方法,并将小白作为参数传入,随后出了一个孩子小黑。但是小黑并没有继承小明的和小红的,反倒是有了自己的私有属性。

tips:本文尽量用朴实易懂的语言来解释面向对象的思想。

荒古时期

上帝首先创造了几个原始类 original class。例如:动物类Animal,植物类Plant,地形类Topography,气象类Atmosphere等作为地球上一切物质的开端,而本文我们将使用动物类作为例子。

分类而生

在创造了动物类Animal之后,为它添加了公共属性mouth:true公共方法eat(){},mating(){}

之后他决定开始细分,这里我们做的简单一点,并不按照“界门纲目科属种”的分类依据,而是直接按照人类Human,猫类Cat,狗类Dog 等进行细分。

他根据动物类Animal创造了人类Human,我们可以说,人类继承自动物类,所以人类这个类中也会存在动物类的公共属性和公共方法。同样的,人类也有自己的公共属性stand:true公共方法farming(){} 。然后,上帝根据人类Human创造了一个人:小明。

小明是一个根据Human创造出的实例对象,20岁的会弹钢琴的男性程序员,他同时继承AnimalHuman类的公共属性公共方法

mouth:true,
stand:true,
farming(something){
    ...
},
eat(something){
    ...
},
mating(someone){
    return xxx
}

而他的私有属性occupation:programmer私有方法playingPiano(){...},小明把他的个人情况都藏起来【封装】,只有他告诉别人自己的情况,别人才会知道,而且别人不知道他会弹什么曲子的,只能说“小明你弹个钢琴给我听一下”。调用
小明.playingPiano()封装之后只有对外提供接口后才可以使用

有一天,小明认识了一个女生小白,小白是一个21岁的会唱歌的客服,私有属性customService私有方法singing(){...}。后来他们谈恋爱并且结婚了,有一天小明调用了自己的方法mating,并将小白作为参数传入,随后return出了一个孩子:小黑。但是小黑并没有继承小明的playingPiano和小红的singing,反倒是有了自己的私有属性tellingStory。但唯一和小明还有小红一样的是,他继承了动物类Animal和人类Human公共属性公共方法

与此同时,另一对夫妻小华和小花,他们也调用了自己的mating,但是 return 的是另一个与小黑不同的孩子——小月,她的私有属性与她的父母都不同,是playingBasketball,但同样的,她也继承了动物类Animal和人类Human公共属性公共方法

为什么都调用了mating方法,返回的孩子却不一样呢?这就是多态。当同一个操作(方法)作用与不同的对象时,会产生不同的执行结果。

以上,面向对象的三个基本特征 封装、继承、多态 都讲完了。肯定讲的不够深入,如果有什么理解上不正确的欢迎在评论区中指正,也欢迎大家讨论。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96698.html

相关文章

  • 人工智能革命:从AGI到ASI道路

    摘要:真可爱唯一的事情是,在大范围的智能中,所有人类,从村里的白痴到爱因斯坦,都在一个非常小的范围内所以刚刚击败村里的白痴水平并被宣布为后,它会突然比爱因斯坦更聪明,并且我们不知道是什么击败了我们那会发生什么。。。。。。 showImg(https://segmentfault.com/img/remote/1460000019305283); 在某种程度上,我们将获得具有人类一般智能的AG...

    frolc 评论0 收藏0
  • Python理解面向对象

    摘要:面向对象编程,简称,是一种程序设计思想。面向过程与面向对象面向过程的程序设计把函数作为程序的基本单元。以上是在计算机世界里认识面向对象和面向过程,接下来给大家举个生活中的例子就拿你早上想吃鸡蛋灌饼为例。 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程 ...

    hatlonely 评论0 收藏0
  • 儿子着迷游戏,序员父亲辞职创业带火了少儿编程培训

    摘要:岁的余宙华是少儿编程培训机构阿儿法营的创办者,也是这个培训机构课程体系的主要研发者。如今少儿编程培训行业正越来越热,最近几年国内的少儿编程培训机构雨后春笋般一个个地冒出来。这时,余宙华意识到是他作为父亲出手的时候了。 什么是计算机的灵魂?余宙华用孩子式的语气问长桌旁坐着的小女孩。 小女孩认真地想了半天,有些腼腆地犹豫着给出了余宙华期待的答案:程序。 2018年7月,我在阿儿法营海淀人大...

    kidsamong 评论0 收藏0
  • 深度学习:推动NLP领域发展新引擎

    摘要:深度学习推动领域发展的新引擎图拥有记忆能力最早是提出用来解决图像识别的问题的一种深度神经网络。深度学习推动领域发展的新引擎图深度神经网络最近相关的改进模型也被用于领域。 从2015年ACL会议的论文可以看出,目前NLP最流行的方法还是机器学习尤其是深度学习,所以本文会从深度神经网络的角度分析目前NLP研究的热点和未来的发展方向。我们主要关注Word Embedding、RNN/LSTM/CN...

    shiyang6017 评论0 收藏0
  • 人工智能革命:人类会永生还灭亡(中)

    摘要:对年奇点的描述是由生物技术,纳米技术以及最强大的人工智能领域同时发生的三场革命引起的。如果人类是巨大的巨人,头部可以达到国际空间站,它们将比现在大万倍。 为什么未来会是我们最大的希望 当我了解人工智能的世界时,我发现有很多人站在这里: showImg(https://segmentfault.com/img/remote/1460000019330911); 在自信角落里面的人们兴奋地...

    Travis 评论0 收藏0

发表评论

0条评论

王陆宽

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<