复制代码 代码如下:
<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>

标签:
构造,继承

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“js对象的构造和继承实现代码”
暂无“js对象的构造和继承实现代码”评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。