js實現的是實現繼承/也就是繼承實際的方法
//主要依賴:原型鏈
//基本思路: 就是乙個引用型別繼承另乙個引用型別的屬性和方法
詳細:建構函式,例項,原型之間的關係。每個建構函式都有乙個原型物件,原型物件都包含乙個指標指向建構函式
每個例項都包含乙個內部指標指向原型。假如我們讓乙個原型物件等於寧乙個型別的例項。此時的原型物件將包含乙個
內部指標指向另乙個原型。以此類推。。。
所有引用型別都預設繼承了object。而這個繼承也是通過原型鏈實現的。
所有函式的預設原型都是object的例項
這也就是為什麼所有自定義型別都會繼承tostring()等預設方法。
繼承的時候
子類重寫原型中的方法會遮蔽原型的方法。但是不改變原型中的這個方法
子類呼叫是新方法,原型呼叫還是原來的方法
原型繼承的時候,不要使用字面量方法,字面量方法會重寫原型鏈
1.引用型別的值問題
function supertype() =function subtype() ={}
//繼承了supertype
//同時生成乙個超類的例項
//該例項是呼叫了超類建構函式
//也就是同時呼叫了超類建構函式中的this
= ["red", "blue"]
subtype.prototype = new
supertype()
var instance1 = new
subtype()
//此時呼叫的是原型中color
//修改的同時會反應在其他例項
instance1.colors.push("black")
var instance2 = new
subtype()
instance2.color
//"red, blue,black"
2.不能像超型別的建構函式中傳遞引數。沒有辦法在不影響例項的情況下。給超型別的建構函式傳遞引數
當沒有必要建立建構函式的時候,只想讓乙個物件與另乙個物件保持類似的情況。
不過包含引用值屬性始終都會共享相應的值。就像使用原型模式
程式設計練習 part6
題目 小東所在公司要發年終獎,而小東恰好獲得了最高福利,他要在公司年會上參與乙個 遊戲,遊戲在乙個6 6的棋盤上進行,上面放著36個價值不等的禮物,每個小的棋盤上面放置著乙個禮物,他需要從左上角開始遊戲,每次只能向下或者向右移動一步,到達右下角停止,一路上的格仔裡的禮物小東都能拿到,請設計乙個演算法...
Part6 使用STL程式設計總結
count,find用於乙個無序的容器集合內。count返回是否存在這個值,如果有,那麼有多少個?find則用於考慮 是否存在這個值,如果有,那麼第乙個在哪兒?找到後立即會返回。所有,兩個的方法的用處不一樣,find的效率會高於count,因為它是找到後就立即返回。從無序區間遷移到有序區間導致了另乙...
C語言入門part6 函式
關鍵字 庫函式,自定義函式,函式的巢狀呼叫及鏈式訪問,遞迴,strlen 和sizeof的區別,p 和 p 的區別 庫函式 strcpy字串複製strcat字串拼接 char string 80 char ch hello world strcpy string,ch 或者這兩行改為 strcpy ...