首頁 >web前端 >js教程 >js繼承中的方法重寫重點講解

js繼承中的方法重寫重點講解

亚连
亚连原創
2018-05-17 09:57:412437瀏覽

1.面試中遇到的一題,子類別繼承父類,父類有兩個方法,重寫其中一個方法。繼承我是肯定是用組合方式繼承,方法都是在原型上寫的,重寫的方法直接在子類別的原型物件上寫就ok了,因為物件的屬性查找是按照原型鏈上就近原則的,先找到的方法就呼叫這個方法。

2.程式碼如下:

[javascript] view plain copy
// supcalss  
var parent = function(name,age){  
    this.name = name;  
    this.age = age;  
}  
parent.prototype.showProper = function()  
{  
    console.log(this.name+":"+this.age);  
}  
var child = function(name,age){  
    parent.call(this,name,age);  
}  
// inheritance  
child.prototype = Object.create(parent.prototype);  
// child.prototype = new parent();  
child.prototype.constructor = child;
// rewrite function  
child.prototype.showProper = function(){  
    console.log('I am '+this.name+":"+this.age);  
}  
var obj = new child('wozien','22');  
obj.showProper();

這樣子類別就是重寫了父類別的showProper方法了。其中Object.create(proto)函數是建立一個以proto對象為原型對象的對象,並且傳回這個對象。

尋找方法的順序:obj -> child.prototype ->parent.prototype

3.注意的地方:在JS實作方法繼承和重寫的時候,或是在創建類別方法的時候,都是在原型物件prototype上操作的,其他方式繼承方法就不用考慮了。

相關文章:

JS中定義類別的方法講解

#JavaScript的基本語法及變數講解 

#js中一些基礎常用的方法講解

#

以上是js繼承中的方法重寫重點講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn