既然是學習面向對象的編程那自然要了解面向對象中的三大基石,封裝、繼承和多態。
我覺得要解釋這三大基本概念用一篇文檔很難解釋清楚,想要具體形象的去了解,還是需要每一個概念用一個篇幅來說明,將封裝、繼承和多態的思想理解好,對我們后面程序設計會有很大的幫助,達到很好的代碼復用,開發的效率、拓展性會大大提高,工作量也會隨之減少。
封裝在面向對象程序的設計中的第一步,其核心的思想就是將客觀的事物,封裝成抽象的類,以類為單位,并且可以控制哪些屬性哪些行為對于外部的類或者對象可見,對不需要別人知道的信息、行為進行相應的隱藏。
下面舉一個生活中例子來說明封裝的概念:
電視機是我們生活中很經常使用的,電視機從一個個電子元件的拼裝到最后成形其實需要經過很多的處理程序,最后成形我們使用的時候并不需要去管它中間過程是如何實現的,我們只需要接好電源,插好線,給我們一個遙控讓我們可以換臺、調音量,以及各種的設置,電視機從一開始制造到我們手中正常使用的這個過程就符合我們面向對象中的封裝的概念。一臺電視機的核心就是那么幾塊電路板+顯示屏,我們作為一個使用者我們并不需要去知道它的核心是怎樣實現的,不用去管它用了什么顯示的技術,不需要考慮怎么焊接,用幾顆電容,電路集成度等,對于我們而言只需要知道怎么通電,開關在哪里,怎么換臺調頻道等等,這就體現了良好的封裝特性。

(一臺封裝好的電視,對于核心的零件、技術封閉的,但是對于外部的操作如換臺、調音量是開放的)
從上面的例子中可以總結一下封裝的概念:
1.當我們設計一個程序的時候,將不想給外部的對象、類看到的信息隱藏,如電視機的電路板、電子元件等。
2.將對外部需要別人看到的信息或功能暴露出來,如使用遙控器換臺、調節音量等。
對于一個封裝性很好的類來說引起這個類的變化只有一種。詳細點說就是當你設計一個類的時候應該把和此類相關的行為屬性都添加在一起,不要將很多不相關的功能行為集中在一個類,這樣的話引起類的變化就可能有多種了,就會造成類的污染,很容易在修改其它不相關功能的同時而修改了這個類。
封裝的概念相對是比較好理解的,其實在面向對象的編程中,很多的概念都是與生活中的例子相關,在學習了具體的代碼后應該多點思考概念。
想要在微信上交流的朋友可以關注我的個人微信號:

浙公網安備 33010602011771號