第一百六十九章 面向对象编程(2/2)
《魔法导论》作者:两元五角 2020-03-11 23:34
,我们在设计传输模块的时候,如果将模块本身看作一个对象,那么其端口,传输地址,选择信道和编码类型就是它的属性,而开启传输,挂起传输,结束传输就是它的方法。”
“嗯,描述清晰,继续。”
“在面向对象的体系中,最主要的还有一个,那就是接口,用来表示一个物体能够做什么事情的特殊对象。”
“接口?”
“没错,如果用语言来描述他们,接口更像是指‘可被如何的’。”
“什么意思?”
“走是一个行为,但是很显然人走路的方式和动物走路的方式并不一样,人是两条腿,动物是零条,两条和四条,然而只要是动物就都有走这个行为,于是我们可以一个接口叫‘可以走路’的接口,里面只有一个行为叫‘走’,但是这个这个行为没有具体细节。
“人和其他动物都可以继承这个接口,但是到底是用几条腿走路就取决于具体每一个动物的实现。”
“但是。。。这么设计有什么用呢?”樾樾问道。
“如果仅仅是一种定义,那么确实没有多大用处”,李力笑了笑,“但是这个世界上所有的对象都是交互的,不可能单独存在,当动物遇到危险事件的时候,人可以用双脚走,猫狗可以用四只脚走,鱼可以用零只脚走,因为他们都继承了‘可以走路’这个接口,从而顺利地躲避危险。
“但是很显然,植物不能走,因为它们没有继承这个接口,这是动物专用接口。”
樾樾想了想,然后指出,“那这么说来,这个接口不能叫‘可以走路’,而是‘可以移动’,里面的方法也应该是‘移动’才对,毕竟鱼走得不是路,游动也并不是走路。”
李力听了这话,突然笑了起来,“这个就是抽象化,恭喜你,你现在已经面向对象编程了。”
“所以,你说的划时代的意义是指什么呢?”樾樾又问。
李力沉默了下来。
他望着远处碧蓝如洗的天空,一望无垠的红土,眼睛却偶尔聚焦到虚无的地方,但是他知道,无论他聚焦到了哪里,在他看不到的地方,无数游离的魔法元素正在飘荡,作用或消失。
许久,他才缓缓说道:“如果没有魔法,面相对象的概念也仅仅是个概念,他能够以万物皆对象的方式描述世界上的一切,却无法改变这个世界,就像植物无法继承‘可以移动’这个接口,因为没有一个伟大的存在来编写植物移动的实例方法。”
樾樾挑了挑眉头,她似乎有些明白了李力想要说的,“魔法可以强行赋予一个对象它本身不继承的接口,来获得它本身没有的能力,就像通过‘应激’符文赋予植物运动能力一样。”
“之前我也想过这个问题,难道符文确实是一种编辑世界本身的编程语言?但是我现在又开始怀疑,或许符文仅仅是一种接口,用符文催动魔法作用于物体的时候,就像是将原本没有继承某个接口的物体继承这个接口,而实例则由魔法元素来进行编写。”
樾樾用一分钟的时间仔细地琢磨清楚了李力的话,然后倒吸一口凉气,满脸不敢相信地说:“小伙子你的脑洞开得也太大了点吧。”
“。。。这不叫脑洞,这叫魔法理论研究”,李力翻了个白眼,“所以我的意思是,不如我们把这个姑娘拐到这里来帮我们研究理论魔法,怎么样?”
“咦?推荐信不是给我们的吗?”
“是推荐到大学本部的”,李力摆摆手,“不过问题不大,就说这里是北方魔导工业高等学校魔导计算机分院好了。”
樾樾:“。。。把人家一小姑娘拐到这种鸟不拉屎的地方来,你就不怕被他爸爸打死?”
“怕什么,反正有你。”
话音刚落,一声怒吼从主楼后面响起,划破长空而来,声音愤怒而凄惨:
“啊!!!!!!!老子的优育三号!!!!!!老子辛辛苦苦种出来的改良西瓜!!!!!!!老子的二毛啊!!!!!!是谁!!!!!!我要扒了你的皮!!!!!!!!!!”
“卧槽,被发现了!”听到这声怒吼,李力瞪大双眼,一把拉着樾樾的手,和她一起蹲了下来,借着花坛的掩护和巨石的缝隙小心翼翼地向后看去,看到卫青还没有发现这两个偷瓜贼,连忙将盛着瓜皮的盘子塞到樾樾手里,“快快快。。。塞到你随身空间里。”
“原来这个瓜是用来做实验用的吗?”樾樾有些古怪地看向自己的吃货男朋友,“你早就知道?”
“没事没事,反正他瓜田里还有大毛三毛四毛五毛六毛七毛和尼古拉斯·施瓦辛格·汉尼拔,少这么一个也没事。”
“等等,最后一个名字是怎么回事?”
“我给起的,不过现在最主要的还是别让他发现。。。”
“不是有我么,你还怕他扒了你的皮?”
“少废话,因为我理亏!甭管了,趁他没发现赶紧撤,走走走走。。。”一边说着,一边拉着樾樾的手撤离了案发现场,向远处流窜而去。
“嗯,描述清晰,继续。”
“在面向对象的体系中,最主要的还有一个,那就是接口,用来表示一个物体能够做什么事情的特殊对象。”
“接口?”
“没错,如果用语言来描述他们,接口更像是指‘可被如何的’。”
“什么意思?”
“走是一个行为,但是很显然人走路的方式和动物走路的方式并不一样,人是两条腿,动物是零条,两条和四条,然而只要是动物就都有走这个行为,于是我们可以一个接口叫‘可以走路’的接口,里面只有一个行为叫‘走’,但是这个这个行为没有具体细节。
“人和其他动物都可以继承这个接口,但是到底是用几条腿走路就取决于具体每一个动物的实现。”
“但是。。。这么设计有什么用呢?”樾樾问道。
“如果仅仅是一种定义,那么确实没有多大用处”,李力笑了笑,“但是这个世界上所有的对象都是交互的,不可能单独存在,当动物遇到危险事件的时候,人可以用双脚走,猫狗可以用四只脚走,鱼可以用零只脚走,因为他们都继承了‘可以走路’这个接口,从而顺利地躲避危险。
“但是很显然,植物不能走,因为它们没有继承这个接口,这是动物专用接口。”
樾樾想了想,然后指出,“那这么说来,这个接口不能叫‘可以走路’,而是‘可以移动’,里面的方法也应该是‘移动’才对,毕竟鱼走得不是路,游动也并不是走路。”
李力听了这话,突然笑了起来,“这个就是抽象化,恭喜你,你现在已经面向对象编程了。”
“所以,你说的划时代的意义是指什么呢?”樾樾又问。
李力沉默了下来。
他望着远处碧蓝如洗的天空,一望无垠的红土,眼睛却偶尔聚焦到虚无的地方,但是他知道,无论他聚焦到了哪里,在他看不到的地方,无数游离的魔法元素正在飘荡,作用或消失。
许久,他才缓缓说道:“如果没有魔法,面相对象的概念也仅仅是个概念,他能够以万物皆对象的方式描述世界上的一切,却无法改变这个世界,就像植物无法继承‘可以移动’这个接口,因为没有一个伟大的存在来编写植物移动的实例方法。”
樾樾挑了挑眉头,她似乎有些明白了李力想要说的,“魔法可以强行赋予一个对象它本身不继承的接口,来获得它本身没有的能力,就像通过‘应激’符文赋予植物运动能力一样。”
“之前我也想过这个问题,难道符文确实是一种编辑世界本身的编程语言?但是我现在又开始怀疑,或许符文仅仅是一种接口,用符文催动魔法作用于物体的时候,就像是将原本没有继承某个接口的物体继承这个接口,而实例则由魔法元素来进行编写。”
樾樾用一分钟的时间仔细地琢磨清楚了李力的话,然后倒吸一口凉气,满脸不敢相信地说:“小伙子你的脑洞开得也太大了点吧。”
“。。。这不叫脑洞,这叫魔法理论研究”,李力翻了个白眼,“所以我的意思是,不如我们把这个姑娘拐到这里来帮我们研究理论魔法,怎么样?”
“咦?推荐信不是给我们的吗?”
“是推荐到大学本部的”,李力摆摆手,“不过问题不大,就说这里是北方魔导工业高等学校魔导计算机分院好了。”
樾樾:“。。。把人家一小姑娘拐到这种鸟不拉屎的地方来,你就不怕被他爸爸打死?”
“怕什么,反正有你。”
话音刚落,一声怒吼从主楼后面响起,划破长空而来,声音愤怒而凄惨:
“啊!!!!!!!老子的优育三号!!!!!!老子辛辛苦苦种出来的改良西瓜!!!!!!!老子的二毛啊!!!!!!是谁!!!!!!我要扒了你的皮!!!!!!!!!!”
“卧槽,被发现了!”听到这声怒吼,李力瞪大双眼,一把拉着樾樾的手,和她一起蹲了下来,借着花坛的掩护和巨石的缝隙小心翼翼地向后看去,看到卫青还没有发现这两个偷瓜贼,连忙将盛着瓜皮的盘子塞到樾樾手里,“快快快。。。塞到你随身空间里。”
“原来这个瓜是用来做实验用的吗?”樾樾有些古怪地看向自己的吃货男朋友,“你早就知道?”
“没事没事,反正他瓜田里还有大毛三毛四毛五毛六毛七毛和尼古拉斯·施瓦辛格·汉尼拔,少这么一个也没事。”
“等等,最后一个名字是怎么回事?”
“我给起的,不过现在最主要的还是别让他发现。。。”
“不是有我么,你还怕他扒了你的皮?”
“少废话,因为我理亏!甭管了,趁他没发现赶紧撤,走走走走。。。”一边说着,一边拉着樾樾的手撤离了案发现场,向远处流窜而去。