手机浏览器扫描二维码访问
说完,他瞬间换上了一幅忧郁脸。
艾达否立刻紧张起来,“对不起儿子,为父错了,你想知道面向对象和面向过程的区别是吧,爸爸我这就给你讲,包你听懂。”
他坐起身,轻了轻嗓子:“其实很简单,拿史书做个比喻,面向过程是编年体,是《资治通鉴;面向对象是纪传体,是《史记。”
“然后呢?”卢赫追问。
“没有然后了,就这么简单。看你悟性了。”
卢赫摆出一幅黑脸,“我要是有时间悟,还来找你干什么?”
艾达否缕了缕并不存在的胡子,“那还是让为父告诉你吧。
编年体中,展示的是世间万物随时间轴的变化过程,今年发生了什么,明年发生了什么,相当于程序一行一行顺序执行各种动作,你编写的是这些动作的实现过程。
而纪传体中,是有主角的,主角是一个人,一个对象。这个对象他是谁,他有什么性格,他说话有什么口癖,他有什么能耐,这些都需要你事先定义好。有人才有历史。
这相当于你定义了一个类,在类中定义了各种功能,实例化它,把它变成活生生的对象,你才能借它的手眼,去推演这个世界。”
卢赫听了直点头,可没一会儿又开始摇头,“什么是类和实例?”
“类就是一个模板,你可以在其中定义它的属性和方法。比如哺乳动物就是一个类。
什么是哺乳动物?全身被毛、运动快速、恒温胎生、体内有
膈,符合这些特征的就是哺乳动物,这是它们的属性。
哺乳动物能干什么?能用肺呼吸、能跑能跳、能嗷嗷叫、能动脑子,这是它们的方法。
哺乳动物这四个字是抽象的,它不指代现实中的任何一种生物,它只是一个模板,一个类。
而实例,是根据这个模板创造出来的对象,就是我们刚刚提到的对象。每个对象都有和模板相同的属性和方法,但它们各自的数据可以不尽相同。
比如,狗和猫都是哺乳动物,都是对象。它们都全身被毛、运动快速、恒温胎生、体内有膈,但长得不一样。它们都能用肺呼吸、能跑能跳、能嗷嗷叫、能动脑子,但狗是汪汪叫,猫是喵喵叫。它们各自的数据不同。”
艾达否说完,幽幽地望着卢赫,脸上竟然带着一丝期待。
卢赫转了转眼珠,“面向对象搞得这么复杂,相对于面向过程有什么优越性吗?”
“很好。”艾达否满意地点了点头,“我那些三年了连接口文档都看不懂的师弟师妹们也曾问过这个问题。
面向对象的优越性,在于继承和多态。
我们刚刚定义了一个名为哺乳动物的类对吧,哺乳动物可以被称为一个基类,或者父类。而狗和猫,都是它的子类。
这个很好理解,跟动物分类学一样,界门纲目科属种,大类下面有小类,逐级划分。
倘若有一天,你升天之后成为了造物主,闲着没事想要自己创造一个新的哺乳动物。注意你要创造哺乳动物,也就是不论你设计出了什么逆天东西,它都得符合哺乳动物的属性和方法,被归为哺乳纲。
这个时候,你不用从头开始去编写它的基因、去从一团泥巴开始捏泥人,而是可以命名一个子类,让它继承父类的属性和方法,自动成为哺乳动物,用肺呼吸、能跑能跳、能嗷嗷叫、能动脑子。
也许你还想要给这个世界一个小小的震撼,让这个哺乳动物有一些逆天的功能,比如一蹦三尺高、不好好四脚走路非要滚着走。你就可以覆写子类的方法,用你所定义的‘能跑能跳’去代替父类一般意义上的能跑能跳。这个就叫做多态。
进一步的,如果有一天你心里不太舒坦,想要对世间万物降下惩罚,让它们每走两步必须仰天长叫一声。这个时候你不需要重新定义父类和子类,只需要写一个函数,就可以实现你的恶趣味。
你只需要把子类传入函数中,函数本身并不事先知道你传的是猫还是狗,但是当你给它猫时,它就喵喵叫,给它狗时,它就汪汪叫。
这就是多态的威力。”
艾达否说完,眨巴着眼,“听懂了吗?这些概念十分抽象,和指针一样,被称为编程初学者的拦路虎。”
卢赫若有所思,好像有点悟了,“这么精妙的设计,它的创造者一定个天才。”
艾达否看到卢赫的反应,一脸神棍像地坐直身,意味深长地说:
“人从自然中来。面向对象的创造者ankay拥有生物学背景,他只是在模仿而已。”
我的温柔狼君 白助理他真有个三岁崽 穿越之表妹不好当 四合院的自在日子 无限:反派的洗白之路 团宠福宝有空间 直播成精app 我的钱又又又多了[重生] 高危人格扮演守则 特案组来了个狐狸精 重回天灾末世,开局我选择发疯 华娱重回2004 农女买夫 争仙!从窥探人心开始 弃坑代价是成为主角挚友 侍枕席 大明第一贪官 [ABO]沉醉于她的信息素 众星之子 佛系美人,恋综爆红
武者用枪,例无虚发,用拳,崩裂坦克,用剑,斩碎战机。用神感知凶吉。通讯监控。卫星密匙。核弹密码。心灵中的一切秘密无所遁形。这是人力和科技的碰撞!这是武道和钢铁的交锋!起初,陆炼宵只想成为一个明星,练武只是业余爱好。奈何,天道煌煌,剑宗无上!...
从穿越大时代开始,改变小犹太,方家三女的命运如果您喜欢从大时代开始的影视穿越,别忘记分享给朋友...
关于抗战之火线精英小宅男在家通宵玩CF,莫名其妙的来到了抗日战场。开启火线系统,购买枪械,兑换人物,纵横战场,清除倭寇。新书抗战之小人物的崛起书号12104382希望大家多多支持!!...
玉娇是精灵国,国王陛下的鱼池里面的一条小锦鲤,因为自己是一条会带来好运的鱼,所以在后宫非常的得宠,一次国王陛下御驾亲征,受伤回宫,经过鱼池,手上的血滴在了鱼池里面,被正在呼吸的锦鲤玉娇完全吸收,从而带有龙族血气,经过多年后的修炼,玉娇化成人形,成为了国王陛下的福星王后如果您喜欢我的王陛下,别忘记分享给朋友...
遭哥哥陷害,她被送上陌生男人的床。一夜,她失了身,爸爸意外坠楼,妈妈心脏病发她失去所有。几近走投无路时,他犹如天神一般降临在她的面前。他说我需要一个听话...
多年之后还是会回想起那个夏天,那个原以为只是个再平凡不过的夏天。当时初遇后没想过会再见的人却以补习的师生关系再见。他那时便动心,之后她亦倾心。可是之后兜兜转转,终是错过多年。再相遇时是他人的婚礼,身旁有佳人。她却还在原地。那个人,那双眼。只一瞥,便瞥见流年。如果您喜欢赐我好梦如旧,别忘记分享给朋友...