(十五)關於繼承

2022-09-15 00:57:19 字數 1168 閱讀 5833

es5中繼承的實現:

//es5中的思路是將子類的原型設定成為父類的原型

function super()}

function sub(

)let s = new sub();

sub.prototype = object.create(super.prototype,

})

另外案例:
// shape - 父類(superclass)

function shape(

)// 父類的方法move

shape.prototype.move = function(x, y)

;// rectangle - 子類(subclass)

function rectangle(

)// 子類續承父類;子類的prototype指向父類的prototype

rectangle.prototype = object.create(shape.prototype)

;rectangle.prototype.constructor = rectangle;

//例項化子類物件

var rect = new rectangle();

console.log(

'is rect an instance of rectangle?',

rect instanceof rectangle)

; // true

console.log(

'is rect an instance of shape?',

rect instanceof shape)

; // true

rect.move(1, 1)

; // outputs, 'shape moved.'

object.create()方法建立乙個新物件,其作用是使用現有的物件來提供新建立的物件的__proto__,語法:

object.create(proto[, propertiesobject])

es6中直接用class … extends即可

class mydate extends date()}

let mydate = new mydate();

mydate.test(

);

十五)繼承 父輩的遺產

1 多型性是物件導向的核心,而繼承則是實現多型性的基礎。2 由類a產生乙個類b,類b是類a的特殊版本。類a稱為基類,類b稱為派生類,類a是父,類b是子。類b自動包含基類a的所有資料成員和所有函式成員 只是有一些限制條件 即派生類繼承了基類的成員。由類a派生出類b,類b再派生出類c,則a是b的直接基類...

(五)關於Linux的歷史習題整理

1.unix 和 linux之間有什麼關係?linux是一種類unix系統,可以說linux是由unix系統衍生過來的。2.bsd是什麼?我們通常說的freebsd netbsd和bsd又有什麼關係呢?bsd是乙個重要的unix分支,在1977至1995年間由加州大學伯克利分校開發和發布的。free...

AutoMapper官方文件 十五 對映繼承

對映繼承有兩個功能 從基類或介面配置繼承對映配置 執行時多型對映繼承基類配置是opt in,您可以顯式指定要從包含基本型別的配置繼承的對映,也可以在包含includebase的派生型別配置中指定該對映 createmap include formember dest dest.somemember,...