好像JavaScript的书籍都没有讲解这概念
js是基于原型继承的,并没有很好的关键字实现接口和继承,需要进行模拟,可以找js设计模式相关资料得到模拟方式。
es6引入了类和继承,但是对比传统的面向对象语言还是不够完善,如果一定要使用继承和接口等完整的机制,可以选择使用typescript。
概念上有,语法上没有接口,es5里虽然有很多继承,但除了原型链继承外,其他的都是复制,es6出了个extends,相当于java中的继承. oo的话还是用ts吧,es6完全不够用的
可以用一个工厂函数体现接口的形式
var instance = function(){
var var0 = 0;
var interface = {
var1 : var0
};
return interface;
}
继承也叫复写,重复利用代码
var father = {
firstName: 'liu',
lastName: 'oneDog',
age: 20
};
var son = {
lastName:'twoDog',
age: 2
};
/**
* 继承的一种方式是深拷贝父对象
*/
Object.assgin(son,father);
/**
* 如果一个父对象有多个子对象,有多少子对象就需要多少父对象,这样很浪费空间
* 所以我们把父对象的引用挂载在子对象构造方法的prototype,所有的子对象对可以访问的到
* 优点和缺点都很明显,省空间,但是会不小心改掉父对象的属性
*/
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
概念是一直都有的,es6通过
extends
实现继承