合并两个对象,但保留继承
Merge two objects but maintain inheritance
所以,我有一个名为Color的类,另一个名为Component的类。目前,我创建了一个新的颜色组件,如下所示:
ColorComponent = Component.extend({
init: {
this.color = new Color();
}
});
但是我不想通过键入colorComponent.color.r之类的内容来访问颜色变量,我想直接访问像colorComponent.r这样的变量。所以我使用了一个合并函数来合并两个对象,但这破坏了我的类继承。
colorComponent instanceof ColorComponent //true
colorComponent instanceof Color //false
问题是,Color 类来自库,所以我无法使用我的扩展函数来维护我的继承。有没有办法合并这两个类,以便上面的两个代码行都返回 true?
不,这是不可能的,一个对象只能从 JavaScript 中的一个原型继承。
而构图绝对是建模的正确方法。没有既是Color
又是Component
这样的事情.您可能正在寻找一个Colored
"类",用于具有颜色的东西,但您也会使用mixin来代替继承。
相关文章:
- 分派点击事件并保留击键修饰符
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 提交后保留下拉选择的值
- 刷新后保留对网页的更改
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- 从控制器继承了隔离的作用域以生成可重用的指令
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 使用递归属性迭代保留属性结构
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- Jquery html() 和保留元素名称
- 如何将字符串拆分为字符,但在javascript中保留空格
- 离开页面导航后保留文本区域内容
- 如何在使用JavaScript或jQuery刷新父页面后保留iframe-src
- 当使用控制器作为语法时,如何从父指令继承属性
- 以jquery方式继承Javascript
- JavaScript对象不是从原型链继承的
- 合并两个对象,但保留继承
- Javascript继承:父's数组变量保留值
- 在基于rest的web应用程序中保留继承的概念