三種繼承方式

2021-10-12 07:04:14 字數 1277 閱讀 7299

## 原型鏈繼承

–> 子類.prototype= new 父類(「引數」)

//優點:(繼承所有)繼承父類 本身 以及 原型物件上的所有 屬性 方法。

//缺點:不能給父類 的建構函式傳引數 。。

function fu(name)

fu.prototype.say=function()

// ---------zi類 開始----------------

function zi()

zi.prototype=new fu("高");//v//---------zi類 結束---------------------------

var my=new zi();// x

console.log(my)

#借用建構函式繼承**

借用建構函式繼承/ 原理:改變this指向 —> 子類建構函式中

// 優點:可以給 父類 的建構函式傳參

// 缺點: 只能繼承 父類 自身的屬性方法…原型物件上的不能繼承

function fu(name,***)

fu.prototype.say=function()
//--------------------------------------

function zi(n,s)

//--------------------------------------

var my=new zi(「高」,「男」);

console.log( 「my.name」,「my.***」 ); //自身屬性 能取到

my.say();//報錯。。。

組合繼承

組合繼承== 原型繼承(繼承所有) + 借用建構函式繼承/類式繼承/改變this指向繼承(可以給建構函式傳參)

function fu(name,age)

fu.prototype.say=function()

// ------

function zi(n,a)

zi.prototype=new fu();

var a=new zi("高",19);

console.log(a.name,a.age);

a.say();

var b=new zi("王",29);

console.log(b.name,b.age);

b.say();

三種繼承方式

派生類繼承了基類的全部資料成員和除了建構函式,析構函式之外的全部資料成員,但是這些成員的訪問屬性在派生的過程中是可以調整的。從基類繼承的成員,其訪問屬性由繼承方式控制。類的公有繼承 當繼承方式為公有繼承時,基類的公有成員和保護成員的訪問屬性在派生類中不變,而基類的私有成員不可直接訪問。類的私有繼承 ...

三種繼承方式

三種繼承方式 公有繼承 私有繼承,保護繼承 不同繼承方式的影響主要體現在 公有繼承 標頭檔案部分 ifndef point h define point h class point void move int offx,int offy int getx const int gety const p...

三種繼承方式

1 公有繼承 基類的public成員被繼承到派生類的public訪問限定符下,基類的protected成員被繼承到派生類 的protected訪問限定符下,而基類的private成員被繼承到派生類的不可見位置,無法直接訪問。2 保護繼承 基類的protected成員和public成員都被繼承到派生類...