這幾天趕項目。好久沒有總結了。把最近的知識總結下。
今天遇到了老生常談的問題---對象。沒有對象的人,自己new一個。
面向對象編程是什么?
在寫代碼寫到一段時間,就經常聽到,面向對象編程。先來看看定義:
- 面向對象:OOP(Object-oriented programming)
- 面向對象就是把公有的屬性封裝起來,然后批量生產。封裝起來的就是類,然后批量生產的就是對象。
- 特性:
- 封裝:把共用的屬性放在一起。然后留出接口。使用者,只需要調用和傳參,不需要知道內部的實現原理。
- 繼承:子類可以繼承父類,子類可以在繼承后,重寫父類的方法和變量。這樣可以提高代碼的重用性。
- 多態:子類繼承父類方法和變量后,可以重寫。
定義看起來不那么容易明白。我說說我自己的理解:
以前寫代碼就是面向過程,就像生產的流水線。我們每當要是實現一個功能,就要寫一邊代碼。現在不了,我們反復實現的功能封裝起來,要用的時候的,就拿出來。就像以前做月餅是用手做。現在,我們用模子做。
js的實現面向對象有很多方法。其中牽扯到this、new、原型鏈等等。明天我們慢慢說。