物件轉型 casting 與 可擴充套件性

2021-08-30 03:50:57 字數 484 閱讀 3803

1 乙個父類的引用型別變數可以[color=red]指向[/color]其子類的物件

2 乙個父類的引用不可以訪問其子類物件新增的成員(屬性和方法)

3 可以使用 引用 變數instanceof類名 來判斷該引用型變數所[color=red]指向[/color]的物件是否屬於該類或該類的子類。

4 子類的物件可以當作父類的物件來使用稱作向上轉型,反之稱為向下轉型

[color=red]父類可以引用子類的物件,基類可以強制轉換為和子類擁有同基類的型別[/color]

可擴充套件性:通過父類的引用可以指向子類的物件,這樣可以將任父類的物件放在方法中作為形參,子類通過呼叫方法來實現共同屬性,然後通過instanceof判斷,進而進行強制轉換,最終輸出子類的特有屬性

強制轉換:子類類名+物件名=轉換型別+父類物件

順便說一下:

[color=red]a c=new a();//建立乙個類a的例項變數c 並將它指想乙個引用a()[/color]

javascript語言擴充套件 可迭代物件(3)

任何使用關鍵字yield的函式 哪怕yield在 邏輯中是不可達的 都稱為 生成器函式 generator function 生成器函式通過yield返回值。這些函式可以通過return終止函式的執行而不帶任何返回值,但不能使用return返回乙個值。然而和普通函式一樣,生成器函式也通過關鍵字fun...

javascript語言擴充套件 可迭代物件(4)

js 1.7中還包含乙個陣列推導 array comprehension 的特性,如果不在最後介紹它好像顯得不怎麼完整。陣列推導其實很簡單 let a x x for x in range 0,10 if x 2 0 以上 中的range 返回乙個生成器物件。上述 等價於 let a for x i...

物件導向之多型(向上轉型與向下轉型)

什麼是多型 同乙個行為具有多個不同表現形式或形態的能力就是多型。多型一般分為兩種 重寫式多型和過載式多型。過載式多型,也叫編譯時多型。也就是說這種多型再編譯時已經確定好了。過載大家都知道,方法名相同而引數列表不同的一組方法就是過載。在呼叫這種過載的方法時,通過傳入不同的引數最後得到不同的結果。重寫式...