物件導向之繼承(拷貝繼承)

2022-08-26 11:45:14 字數 787 閱讀 4929

js中的繼承,個人覺得一直是js的軟肋,當然自從es6中新增了extend,得到了很大的改觀,我們今天不對extend做介紹,主要介紹一下js中最早實現繼承的一些方法

function

person(name,age)

person.prototype.showname = function

()var p = new person('張三',20);

p.showname();

//'張三';

上面是個簡單的物件導向程式,我們來再寫乙個extendperson物件來繼承person物件;

function

extendperson(name,age,job)

以上**實現了屬性的繼承,那麼怎麼繼承父類的方法呢

extendperson.prototype = person.prototype;

我們把父類的原型,賦值給子類的原型,雖然這樣確實可以將父類的方法繼承過來,但是因為賦值就出現了物件的引用,也就意味著給子類新增方法父類也就擁有了新增的方法,這顯然不是我們想要的結果,那麼怎麼辦呢,可以這樣

function

extend(obj1,obj2)

}

我們封裝乙個方法,並呼叫

extend(person.prototype,extendperson.prototype);

這樣我們就實現了方法的繼承,這種方法我們稱之為拷貝繼承!jquery中採用的就是這種方法!

物件導向的繼承(拷貝繼承)

在原有物件的基礎上,稍微修改後得到新的物件 不會影響原物件的功能 子類不影響父類,子類可以繼承父類的一些功能 呼叫父類的建構函式,使用call方法改變this指向問題。for in 拷貝繼承 extend function createperson name,createperson.prototy...

物件導向之繼承

此段摘自 繼承方式限定了基類成員在派生類中的訪問許可權,包括 public 公有的 private 私有的 和 protected 受保護的 此項是可選的,如果不寫,預設為 private 或 protected。不要將繼承方式和成員屬性搞混了,不同的繼承方式會賦予繼承來的成員不同的屬性 簡單說一下...

物件導向之繼承

繼承 是一種新建類的方式,新建的類稱為子類,被繼承的類稱為父類 基類,超類 繼承描述的是一種遺傳關係,子類可以使用父類的屬性 注意 1 乙個類可以同時繼承多個父類 2 python中類分為兩種 新式類 繼承了object的類叫新式類,python3中所有的類都繼承了object類,即python3中...