导航:首页 > 编程语言 > js中继承的方式

js中继承的方式

发布时间:2024-07-22 15:13:18

js中关于继承的几种方式

1、原型链继承
2、构造继承
3、实例继承
4、拷贝继承
5、组合继承
6、寄生组合继承

② js中继承怎么理解,为什么要用js继承

js中继承跟java中的继承不太一样,一般通过call()和apply()两种方式完成,js中的继承是以复制的形式完成的,复制一个父对象,而不像java中直接继承父对象,还有通过原型的方式完成继承,也有弊端,总之js中的继承只是形式上的对面向对象语言的一种模仿,本质上不是继承,但用起来效果是一样的
至于为什么要继承:通常在一般的项目里不需要,因为应用简单,但你要用纯js做一些复杂的工具或框架系统就要用到了,比如webgis、或者js框架如jquery、ext什么的,不然一个几千行代码的框架不用继承得写几万行,甚至还无法维护

③ js对象的构造和继承实现代码

复制代码
代码如下:
<script>
//定义js的user对象
function
User(name,age){
this.name=name,
this.age=age,
this.getName=function(){
return
this.name;
},
this.getAge=function(){
return
this.age;
}
}
//实例化一个对象
var
use=new
User("aa",21);
alert(use.name);
alert(use.getAge());
//js对象继承
/*
jb51.net
在面向对象的编程方法中,对象继承是必不可少的,那么怎么在javascript中实现继承机制呢。由于javascript并不是一个严格的面向对象的语言,因此在对象继承上也显的不一样。我们也来创建一个基类Polygon,代表一个多边形,一个多边形有个共同的属性就是边数(sides)和一个共同的方法计算面积(getAreas)。这样我们的这具Polygon类看起来就像下面这样定义:
*/
function
Polygon(iSides){
this.sides
=
iSides;
}
Polygon.prototype.getAreas
=
function(){
return
0;
}
/*
因为基类并不能确定面积,因此在这里我们返回为0。
接着我们就创建一个子类Triangle,一个三角形,显然这个三角形是要从多边形继承的,因此我们要让这个Triangle类继承Polygon类,并且要覆盖Polygon类的getAreas方法来返回三角形的面积。我们来看下在javascript中的实现:
*/
function
Triangle(iBase,
iHeight){
Polygon.call(this,3);
//在这里我们用Polygon.call()来调用Polygon的构造函数,并将3作为参数,表示这是一个三角形,因为边是确定的,所以在子类的构造函数中就不需要指定边了
this.base
=
iBase;
//三角形的底
this.height
=
iHeight;
//三角形的高
}
Triangle.prototype
=
new
Polygon();
Triangle.prototype.getAreas
=
function(){
return
0.5
*
this.base
*this.height;
//覆盖基类的getAreas方法,返回三角形的面积
}
/*
参考上面的实现,我们再定义一个矩形:
*/
function
Rectangle(iWidth,
iHeight){
Polygon.call(this,4);
this.width
=
iWidth;
this.height
=
iHeight;
}
Rectangle.prototype
=
new
Polygon();
Rectangle.prototype.getAreas
=
function(){
return
this.width
*
this.height;
}
/*
好了,上面我们定义了一个基类和两个子数,下面我们来测试一个这两个子类是否能正常工作:
*/
var
t
=
new
Triangle(3,6);
var
r
=
new
Rectangle(4,5);
alert(t.getAreas());
//输出9说明正确
alert(r.getAreas());
//输出20说明正确
</script>

阅读全文

与js中继承的方式相关的资料

热点内容
看直播数据用哪个平台最好 浏览:730
win10芯片驱动程序版本 浏览:763
如何给word添加公式编辑器 浏览:666
iphone桌面文件夹怎样合并 浏览:919
要我苹果账号密码忘记了怎么办 浏览:578
快快卡在配置游戏文件 浏览:393
数据包重发时间怎么调整 浏览:882
youtubeapp怎么下载 浏览:366
编程检测是什么 浏览:753
网络摄像机的传输距离 浏览:941
超值猫qq群购秒杀群 浏览:138
pdf文件能备注吗 浏览:174
html可视化数据源码在哪里 浏览:387
adobereader专用卸载工具 浏览:28
vivo手机数据如何备份 浏览:888
ithmb文件转换器 浏览:66
看病找什么网站好 浏览:579
linux如何查看文件系统 浏览:581
linux统计点频率 浏览:627
全民泡泡大战安琪儿升级 浏览:620

友情链接