看着眼前这群已经被他绕晕了的“天才”,决定抛出自己的王炸。
他清了清嗓子,用一种如同神明颁布谕旨般的语气,缓缓说出了一个在场所有人闻所-未-闻-的词汇。
“你们为什么不试试用‘面向对象’的思路来重构呢?“
“面向……对象?”
“那是什么?”
“一种新的编程语言吗?”
“没听说过啊……”
研究员们彻底懵了。
他们感觉自己的大脑,像是被强行塞进了一个从未接触过的概念,CPU瞬间过载,嗡嗡作响。
就连一直站在旁边,虽然听不懂,但觉得很厉害的艾丝妲,也露出了迷茫又好奇的表情。
看着众人懵逼的反应,林枫心里爽翻了天。
什么叫降维打击啊?(战术后仰)
这就是!
他享受着众人崇拜(虽然他们自己还没意识到)的目光,开始用最简单、最通俗的比喻,为这群异世界的“土著”程序员,科普来自地球的先进思想。
“很简单,”他伸出手指,在屏幕上画了一个圈,圈住了“主炮”模块,“你们可以把每个功能,都当成一个独立的‘对象’。”
“比如,‘炮台’就是一个对象,‘护盾’也是一个对象,甚至每一个安保机器人,都可以是一个对象。”
他又画了几个圈,将那些模块一一框选。
“然后,我们给每个‘对象’,赋予它自己独有的‘属性’和‘方法’。比如‘炮台’对象,它的‘属性’就是射速、威力、当前弹药量。它的‘方法’就是开火、转向、装填弹药。”
“最关键的一步来了,”林枫加重了语气,“我们把这些属性和方法,全都打包,关在这个‘对象’内部,不让外面随便访问。这就叫‘封装’!”
“封装?”项目组长下意识地念出了这个词。
“没错!封装!”林枫打了个响指,“封装之后,不同的对象之间,只需要通过预留好的接口进行交流和调用就行了。炮台不需要知道护盾是怎么产生能量的,它只需要向护盾对象发送一个‘请求能量’的信号。护盾也不需要关心炮台是怎么开火的,它只需要在收到信号后,把能量给它就行了。”
“这样一来,”林枫双手一摊,脸上露出了“搞定”的笑容,“就算某个‘对象’,比如炮台,它自己的代码写错了,烧坏了,它也只会影响到自己。其他的对象,像护盾、索敌系统,照样能正常运行,完全不受影响!这叫‘低耦合,