欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js對象的構(gòu)造和繼承實(shí)現(xiàn)代碼

 更新時間:2010年12月05日 16:12:52   作者:  
js對象的構(gòu)造和繼承實(shí)現(xiàn)代碼,學(xué)習(xí)javascript面向?qū)ο蟮呐笥芽梢詤⒖枷?。寫出跟漂亮與復(fù)用的代碼。

復(fù)制代碼 代碼如下:

<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;
}
}
//實(shí)例化一個對象
var use=new User("aa",21);
alert(use.name);
alert(use.getAge());
//js對象繼承
/*
jb51.net 在面向?qū)ο蟮木幊谭椒ㄖ?,對象繼承是必不可少的,那么怎么在javascript中實(shí)現(xiàn)繼承機(jī)制呢。由于javascript并不是一個嚴(yán)格的面向?qū)ο蟮恼Z言,因此在對象繼承上也顯的不一樣。我們也來創(chuàng)建一個基類Polygon,代表一個多邊形,一個多邊形有個共同的屬性就是邊數(shù)(sides)和一個共同的方法計(jì)算面積(getAreas)。這樣我們的這具Polygon類看起來就像下面這樣定義:
*/
function Polygon(iSides){
this.sides = iSides;
}
Polygon.prototype.getAreas = function(){
return 0;
}
/*
因?yàn)榛惒⒉荒艽_定面積,因此在這里我們返回為0。
接著我們就創(chuàng)建一個子類Triangle,一個三角形,顯然這個三角形是要從多邊形繼承的,因此我們要讓這個Triangle類繼承Polygon類,并且要覆蓋Polygon類的getAreas方法來返回三角形的面積。我們來看下在javascript中的實(shí)現(xiàn):
*/
function Triangle(iBase, iHeight){
Polygon.call(this,3); //在這里我們用Polygon.call()來調(diào)用Polygon的構(gòu)造函數(shù),并將3作為參數(shù),表示這是一個三角形,因?yàn)檫吺谴_定的,所以在子類的構(gòu)造函數(shù)中就不需要指定邊了
this.base = iBase; //三角形的底
this.height = iHeight; //三角形的高
}
Triangle.prototype = new Polygon();
Triangle.prototype.getAreas = function(){
return 0.5 * this.base *this.height; //覆蓋基類的getAreas方法,返回三角形的面積
}

/*
參考上面的實(shí)現(xiàn),我們再定義一個矩形:
*/
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;
}
/*
好了,上面我們定義了一個基類和兩個子數(shù),下面我們來測試一個這兩個子類是否能正常工作:
*/
var t = new Triangle(3,6);
var r = new Rectangle(4,5);
alert(t.getAreas()); //輸出9說明正確
alert(r.getAreas()); //輸出20說明正確
</script>

相關(guān)文章

  • 一個簡單的javascript類定義例子

    一個簡單的javascript類定義例子

    涵蓋了javascript公有成員定義、私有成員定義、特權(quán)方法定義的簡單示例
    2009-09-09
  • JS類定義原型方法的兩種實(shí)現(xiàn)的區(qū)別評論很多

    JS類定義原型方法的兩種實(shí)現(xiàn)的區(qū)別評論很多

    JS類定義原型方法的兩種實(shí)現(xiàn)的區(qū)別評論很多...
    2007-09-09
  • JavaScript中的面向?qū)ο蠼榻B

    JavaScript中的面向?qū)ο蠼榻B

    在JavaScript,可以說everything is object,那么什么是對象?對象就是包含一組變量和函數(shù)的集合。在其它面向?qū)ο笳Z言中對象是由類的實(shí)例化而來,JavaScript是基于原型的面向?qū)ο笳Z言,沒有類的概念,對象派生自現(xiàn)有對象的副本
    2012-06-06
  • javascript 面向?qū)ο缶幊?聊聊對象的事

    javascript 面向?qū)ο缶幊?聊聊對象的事

    javascript是基于對象的編程語言。從window到document,從方法到類,從object到Array都是對象。
    2009-09-09
  • 寫自已的js類庫需要的核心代碼

    寫自已的js類庫需要的核心代碼

    眾所周知,用jQuery的extend方法,可以很方便的實(shí)現(xiàn)繼承和對象拷貝,我們可以把它拿過來自己用
    2012-07-07
  • JavaScript 繼承詳解(三)

    JavaScript 繼承詳解(三)

    在第一章中,我們使用構(gòu)造函數(shù)和原型的方式在JavaScript的世界中實(shí)現(xiàn)了類和繼承, 但是存在很多問題。這一章我們將會逐一分析這些問題,并給出解決方案。
    2009-07-07
  • 最新評論