簡書的第一篇之淺談對面向對象的認識

1.為什么寫簡書?

作為一只程序猿,無時無刻的都需要更新自己的知識,在簡書這個平臺,很多大牛的文章也幫我解決很多遇到的問題。而作為一只菜鳥,本不應該出來“丟人現(xiàn)眼”,但在21世紀的今天,交流是很重要的,別人的一些意見也會幫助自己成長,“閉關鎖國”終究只會限制自己,所以我就來發(fā)表自己的第一篇文章。


2.面向過程與面向對象

什么是面向過程,什么是面向對象,太過于理論化的就不說了,畢竟網(wǎng)上之于此的文章亦或是百科都會告訴我們,我就以一個比喻來淺談自己對他的理解。

2.1.面向過程

在我的概念里,面向過程就像是一個隱居在深山里閉門不出的人,他要做什么都必須要自己干,比如他需要一張桌子,這是一個需求,他要完成這個需求,他得自己找材料,自己制作,自己刷漆,他通過一系列的行為完成了一張桌子這個需求,在這個需求中,他得學習很多東西,像如何選材,如何制作,如何刷漆之類的。下次他還要制作一張床,他得按照整個流程再來一遍,還得學習新的知識

2.2.面向對象

面向過程就像是我需要一張桌子,我去找家具店買,家具店給了我一張,我只需要有一個家具店對象,他就能給我這張桌子。家具店需要一張桌子,家具店可以找木匠制作,家具店只要有一個木匠對象就能有一張桌子,家具店不需要知道桌子的制作,只需要有一個木匠對象,以及負責給客戶桌子。木匠想要一張桌子,需要材料,需要負責向木材店購買,木材店會負責提供好材料交給木匠,木匠只需要告訴木材店需要什么樣的木材,木材店就提供給木匠木材。以此類推,下次我要一張床,只要負責告訴家具店我需要一張床,其他的事我并不關心。我們把特定的事交給特定的一類人去干,這個就是面向對象一個思路了。

2.3.面向對象與面向過程的區(qū)別

如上面的例子,面向過程所做的事是一次性的,制作家具的過程如果是通過面向過程,那么每有一個需求都需要再一次的把過程再走一遍;而面向對象就是,我不需要關注制作的流程,只要我有一個家具店對象就能幫我完成這些事,其他的我并不需要關心。面向過程就像是一個剛剛新起的事物,沒有分工,什么都要一開始的那批人去做,而面向對象就是這個事物日趨成熟后,分工明確,特定的人去處理特定的業(yè)務邏輯。有一句話叫做“萬物皆對象”,因為萬物都有其特征(屬性),有其可以做的事(方法),都可以在某一個需求中成為某一環(huán)節(jié)必不可少的。

3.類與子類

我們如何去獲取一個對象,一般是通過一個類去創(chuàng)建,那么為什么要通過類去創(chuàng)建對象?同樣,接下來以舉例、抽象的方式來談談本人對類與子類的看法。

3.1.類

類是用來創(chuàng)建對象的,類里面描述了這個類創(chuàng)建的對象能干什么,有什么屬性,而能干什么往往又取決于屬性。比如,程序猿就是一個類,稱為程序猿類,程序猿可以敲代碼,可以幫助寫軟件,解決問題,他們有一些特征,加班、熬夜、喜歡鉆研,他們分等級,不同等級的程序猿完成任務的能力不一樣。我們在類中用很多的方法及屬性描述了程序猿這個集體,當需要一個程序猿時,得招一個(這邊的招類比為用程序猿類創(chuàng)建),那么那個招的程序猿就有了這些屬性和方法,以后就可以讓這個程序猿去寫軟件、編代碼、完成需求,假如有一天,發(fā)現(xiàn)這個程序猿不能滿足一些需求,然后又招了一個,這個等級更高一點,經(jīng)驗更豐富點,比那個更愛鉆研,可以完成需求。但隨著時間的推移,原來那個不能完成需求的程序猿慢慢的成長,能力變強,也能滿足需求了,可以理解為原來那個程序猿對象的屬性在改變......也就是,現(xiàn)在有兩個程序猿,這兩個程序猿是對象,是用程序猿類創(chuàng)建的,那么程序猿類就描述了程序猿集體所共有的屬性及方法。

3.2.子類

以上面的例子繼續(xù)講子類,隨著時代的發(fā)展,編程語言增多,平臺增多,程序猿這個類往往不能很細致或者說很好的概括程序猿這個集體。于是就有了Java程序猿,PHP程序猿,C#程序猿,Android程序猿,iOS程序猿......他們都有共性,都繼承自程序猿類,有程序猿的一些特征和能力,但他們也有區(qū)別,有自己的屬性,有自己的方法。比如,作為程序猿類的子類,他們都愛鉆研,都會敲代碼,都會加班,都會熬夜。而作為不同的類他們也有區(qū)別,他們使用的編程軟件可能不同,軟件的運行平臺可能不同,他們的屬性也可能不同,比如iOS程序猿的設備是Mac而其他程序猿類的設備是windows。而這些細致的區(qū)分也可以讓人力資源管理的人方便,他們需要做什么軟件,就去找對應類型的程序猿,其他的不需要他們管,只要創(chuàng)建對應類型的對象完成對應的功能就好了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容