原型

原型一点儿也不复杂:它是一个对象。

原型在哪?

从代码的角度来看,可以理解为它位于对象之中,没错,一个对象在另一个对象中。

一个对象为什么要在另一个对象中?想象一下,拍照的时候,为什么要把手机放在手中?

物尽其用。

那么原型的作用到底是什么?

现在有两个对象,一个是原型,而另一个,为了方便描述,可以给这个包含了原型的对象起个名字,就叫“真对象”吧。

首先,原型作为一个对象,和任何对象都一样,包含属性和方法。

其次,原型作为另一个对象的属性,可以为真对象提供自己力所能及的帮助。

就像孙悟空和太上老君关系非常好,每次孙悟空打不过开挂的妖怪,就去找太上老君要各种兵器和灵丹妙药。孙悟空每次见到太上老君就来一句:你的就是我的,我的还是我的,老君非常大方,每次都说:我的宝贝你随便拿随便用。

孙悟空和太上老君都是神仙,而原型和真对象都是对象,大同小异。

真对象需要原型帮助时,如何去召唤它的“太上老君”呢?很简单:obj.__proto____,一个点加一个带着双下杠的单词proto,当然这只是一种写法,还存在其他写法。

 

永远不要单独的去看待原型,就像是手机壳离开手机显得毫无价值,就是为了手机才买的手机壳。

“原型”这个词的实际含义是“首先我是一个对象,其次我可以帮助另一个对象”。

就像太上老君赶着来解救被三昧真火烧着了的猴哥,老君大喊:“猴子,我是你的救星”。猴子看到老君后,心里暗想:老君是我的救星啊!

原型来帮“真对象”,原型大喊:“我来帮你了,我是你的原型”。

总而言之,从真对象角度来看,它需要原型的帮助;而从原型的角度来看,它也确实能提供帮助。正是因为此对象能提供帮助,所以此时它才区别于普通对象,我们给它一个好听的(难听)名字:原型。

 

posted @ 2020-12-19 11:52  呈心者  阅读(290)  评论(0编辑  收藏  举报