我喜欢Steve Yegge的Prototype Pattern example,并决定掀起一个概念示例的快速证明。Yegge的原型模式示例如何处理实例变量?
但是,我并没有真正想过。尽管动态指定对象的行为非常好,并且对Steve的opinionated elf示例很简单,但我仍然试图找出处理实例变量的最佳方法。
例如,假设我有一个AwesomeDragon对象。然后我想创建一个AwesomeDragonImmuneToFire对象,这样我就可以让AwesomeDragon(AwesomeDragonImmuneToFire从AwesomeDragon继承属性)的新孩子和'put'“ImmuneToFire”作为值为'true'的属性。到现在为止还挺好。现在让我们说我想在附近的农民村庄参观我的AwesomeDragon对象。这将涉及更新AwesomeDragon的'位置'属性。然而,我做这个AwesomeDragonImmuneToFire的那一刻也会起飞。
是创建对象时覆盖实例值的最佳解决方案,例如,立即将AwesomeDragonImmuneToFire上的'position'值'放'到'position'的当前'get'值上?
我认为原型的想法是没有真正的类 - 只有原型类的实例。混合原理可以工作好,但我担心你不得不检查对象方法和原型属性。 – 2008-10-23 02:19:53
感谢您的反馈意见 - 我喜欢您的榜样和upvoted。 – 2008-10-23 02:20:48