JS學習之類的繼承

2022-07-18 03:06:19 字數 1481 閱讀 3146

js繼承的實現方式

首先宣告乙個父類

function

animal(name)

}animal.prototype.eat=function

(food)

1:建構函式的繼承

物件dog繼承了父類animal身上的屬性和方法,不過屬性相同,覆蓋了父類的屬性

特點: 1 :子類共享父類的屬性和方法

2:可以向父類傳遞引數

缺點:子類只能繼承父類的屬性和方法但並不能繼承父類的原型身上的屬性和方法

2:原型鏈的繼承

function

dog(name)

dog.prototype=new

animal(); //dog的原型與animal例項出來的物件指向了同一塊空間,改變任意乙個值其他的都跟著改變

var dog =new

dog();

console.log(dog);

console.log(dog.constructor); //指向了animal

特點:1:父類的屬性和方法都能繼承的到,包括父類原型身上的屬性和方法也可以繼承

2:簡單,方便

缺點:1:創造子類例項時無法向父類傳參

2:修改子類的原型物件的值父類的例項物件也會跟著改變

3:無法判斷物件是子類例項化出來的還是父類例項化出來的。

3組合繼承

function

dog(name)

animal(); //缺點在子類實力化的過程中父類函式執行了2次

//缺點 dog animal指向了同一塊統建,當改變其中任意乙個值另外乙個也改變

造成animal.prototype.constructor也成了dog

dog.prototype =object.create(animal.prototype);

dog.prototype.constructor

=dog;

var dog=new

dog();

console.log(dog.constructor);

/*ƒ dog(name)

*/

第三種方案是目前比較完美的

Python學習之類的繼承

類變數,存在類的記憶體裡 name 我是類name def init self,name,role,weapon,life value 100,money 15000 建構函式,在例項化時做類的初始化工作 self.name name 例項變數 靜態屬性 作用域就是例項本身 self.role ro...

Python 之 類的繼承

知識點 1.類的繼承 只能繼承父類的共有方法和屬性 2.當子類中無此方法時呼叫父類的方法 3.當有多個方法時,可通過print d.mro 檢視父類中 4.方法的重寫 當父類中的方法不能滿足需求的時候,可在子類中對其進行重寫 class a object def print c self print...

c 學習之類的繼承與派生

8.3 類的繼承與派生 c 語法 定義派生類 class 派生類名 繼承方式1 基類1,繼承方式2 基類2,派生類宣告部分 各新增函式成員的完整定義 派生類實現部分 語法說明 定義派生類時,在派生類名的後面新增繼承列表,在宣告部分的大括號裡宣告新增成員,在實現部分編寫各新增函 數成員的完整定義 繼承...