springboot2.0 配置時間格式化不生效問題的解決
阿新 • • 發佈:2020-09-02
1、原型鏈繼承(父類的例項作為子類的原型)
原型鏈繼承的基本思想是利用原型讓一個引用型別繼承另一個引用型別的屬性和方法
優點:
- 簡單易於實現,父類的新增的例項與屬性子類都能訪問
缺點:
-
可以在子類中增加例項屬性,如果要新增加原型屬性和方法需要在new 父類建構函式的後面
-
無法實現多繼承
- 建立子類例項時,不能向父類建構函式中傳參
2.借用建構函式(父類的例項作為子類的原型)
優點:
-
解決了子類建構函式向父類建構函式中傳遞引數
-
可以實現多繼承(call或者apply多個父類)
缺點:
-
方法都在建構函式中定義,無法複用
-
不能繼承原型屬性/方法,只能繼承父類的例項屬性和方法
3、組合繼承(原型鏈 + 借用建構函式)(呼叫父類建構函式,繼承父類的屬性,通過將父類例項作為子類原型,實現函式複用)
缺點:
- 由於呼叫了兩次父類,所以產生了兩份例項
優點:
-
函式可以複用
-
不存在引用屬性問題
-
可以繼承屬性和方法,並且可以繼承原型的屬性和方法
4、原型式繼承(例項繼承)
優點:
-
不限制呼叫方式
-
簡單,易實現
缺點:
- 不能多次繼承
5、寄生式繼承
寄生式繼承是與原型式繼承緊密相關的一種思路。寄生式繼承的思路 與寄生建構函式和工廠模式類似,
即建立一個僅用於封裝繼承過程的函式, 該函式在內部已某種方式來增強物件,最後再像真地是它做了所有工作一
缺點:
使用寄生式繼承來為物件新增函式,會由於不能做到函式複用而效率低下。
同原型鏈實現繼承一樣,包含引用型別值的屬性會被所有例項共享。
6、寄生組合式繼承(通過寄生的方式來修復組合式繼承的不足,完美的實現繼承)
優點:
只調用了一次超類建構函式,效率更高。
7、ES6繼承
優點:程式碼量少,易懂
ES5繼承和ES6繼承的區別:
es5繼承首先是在子類中建立自己的this指向,最後將方法新增到this中Child.prototype=new Parent() || Parent.apply(this) || Parent.call(this)
es6繼承是使用關鍵字先建立父類的例項物件this,最後在子類class中修改this