< JavaScript:好的部分>,Douglas引入了所謂的「僞古典」模式作爲實現繼承的方式之一。然而,看起來他給出的例子無法實現成員變量的繼承,因爲當構造「子類」時,原型繼承不會創建「超類」變量的副本。使用「僞古典」模式在JavaScript中實現成員變量繼承
對於一個具體的例子,讓我們考慮兩類:一的InputStream類,來處理一個潛在的輸入機制,以及提供了一種簡單讀接口由字節讀取字節;和一個Utf8InputStream類繼承InputStream並提供一個readUtf8接口讀取有效的UTF8字符。然後在「僞古典」模式下看起來有問題,因爲所有的Utf8InputStream將共享相同的底層InputStream,並且事情顯然會中斷。
在我看來,使用組合而不是繼承將很容易解決這個問題,但出於好奇,有沒有辦法在這裏實現成員變量的繼承?
可能會有所幫助:同一道格談論權力構造和繼承 - @ 25分鐘10秒:https://www.youtube.com/watch?v=DwYPG6vreJg –