組合繼承:
//1.所有不需要共享的例項屬性使用call來繼承
//2.所有需要共享的屬性通過原型鏈繼承
//把兩者結合到一起成為組合繼承
//優點:既可以讓共享的屬性只保留乙份,又可以讓不需要共享的屬性每個物件都有
function animal()
//animal的原型屬性
animal.prototype.shake = function()
function cat(color)
}//步驟2:通過設定cat的原型指向乙個animal物件,讓所有的cat物件繼承animal的屬性
//原型物件是animal型別,所有的cat物件的constructor是animal 不符合邏輯
cat.prototype = new animal();
var m1 = new cat("小紅");
//alert(m1.constructor);//此時列印的是animal函式 不符合邏輯
//alert(m1.constructor == cat);//false,錯誤 通過構造器判斷型別錯誤!
//解決辦法,修改cat的原型中的contructor屬性為cat
cat.prototype.contructor = cat;
alert(m1.contructor === cat);//true 修正構造器屬性
m1.shake();//搖一搖
//總結:組合繼承關鍵**
//1.使用call繼承父類的例項屬性 在子類中animal.call(this)
= new animal()
//3.修正了子類的構造器,cat.prototype.constructor = cat
面對物件繼承之原型鏈繼承
面對物件繼承之原型鏈繼承 建構函式繼承的特點 缺點 所有的屬性都是物件獨有,不能共享 物件屬性可以共性屬性 function animal this.name 動物名 例項屬性,每個動物都應該不一樣 animal的原型屬性 animal.prototype.shake function 貓funct...
python 面對物件 繼承
私有屬性和方法通過在屬性和方法名前新增 得到。私有屬性和方法是物件的隱私,不能通過外界和子類直接訪問 在外界無法訪問到私有屬性和方法 不能直接print列印 可以通過在物件的方法內部訪問私有屬性 子類物件可以通過父類的公有方法間接訪問到私有屬性或私有方法 eg classa def init sel...
c 面對物件繼承
可以認為類是屬於命名空間的 如果在當前專案中沒有這個類的命名空間,我們需要手動匯入這個類所在的命名空間 alt shift f10 快捷鍵 在乙個專案中引用另乙個專案的類 1.新增引用 2.引用命名空間 區別 1.值型別和引用型別在記憶體上儲存的地方不一樣。2.在傳遞值型別和傳遞引用型別的時候,傳遞...