java的面向對象二三事

前言

        對於一個程序員而言,從面向過程到面向對象的過程的轉換。是一種思維方式的昇華。但是,究竟什麼是面向對象? java 的面向對象時候真的有那麼的純粹,實際上還是存在着許許多多的討論的。今天我們就來看看面向對象二三事。


什麼是面向對象

        我們先來看看百度百科的介紹:


面向對象(Object Oriented,OO)是軟件開發方法。面向對象的概念和應用已超越了程序設計和軟件開發,擴展到如數據庫系統、交互式界面、應用結構、應用平臺、分佈式系統、網絡管理結構、CAD技術、人工智能等領域。面向對象是一種對現實世界理解和抽象的方法,是計算機編程技術 發展到一定階段後的產物。


        實際上,就我理解來看,現代的軟件系統是越來越複雜了,讓我們去熟悉其中的每一個模塊實在是很難,更別說每一個模塊都是自己寫的。舉個現實生活中的例子吧。波音的飛機暢銷全世界,但是難道每一個模塊的元器件都是它自己造的,亦或者說是它設計的。實際上,這些模塊的來源分佈在世界各地。這其實就是面向對象的一種體現。我們做事情的着眼點放的更加的高,更加的去看中全局。當然,這也是java爲何容易上手的原因,因爲一旦你站的地方比較高,你就不用再去關注更多的細節了。


        但是,也正是因爲你站的比較高,所以說有的時候很難去理解到一些問題的實質。但是沒有哪一種方法是天衣無縫的,對此,倒也不必過於介懷。我想,講到這裏,面向對象的概念也已然清楚了。

面向對象二三事


基本類型還有存在的必要嗎?


        不知道大家有沒有想過這樣的問題,java強調面向對象,但是爲何要保留所謂的基本類型呢?這明顯不符合面向對象的定義啊,我們也都知道,java中基本數據類型在產生的時候其位置也是和對象不一致的。其實,就我看來,保留基本類型的原因如下:

        首先應該是方便那些從C等面向過程的語言轉過來的相關人員,實際上你想想,基礎編程玩的也就是哪幾種基本數據類型。在C語言中,你想用List之類的數據結構,那不還得自己寫。java這一招比較巧妙,他告訴廣大的從業者,我們有基本類型啊,但是,基本的數據結構我們都爲大家實現了,大家可以直接用,這樣就方便了大家的過渡。

        第二個原因的話,我想是因爲基本的數據類型更快,也更節約空間。因爲基本的數據類型一定是用的最多的,而後來之所以推出包裝類型,實際上可以從側面理解這是要去革了基本數據類型的命。但是,革命尚未成功,通知仍需努力啊!


util包的尷尬


        我們知道面向對象就是將問題的模型抽象爲一個個對象,實際上就是像一個人一樣,當然,你知道的,這個人有行爲,有自己的基本屬性,比如身高等等。那麼這個時候,util包出現了,裏面的類比較尷尬,基本都是靜態的方法,不和具體的實例對象綁定。而且,幾乎沒有屬性,只有行爲。也就是他的靜態方法。

        這要是類比影視劇,那就是活脫脫的殭屍啊!那麼,當然,國內外對於此的討論也是不絕於耳。什麼應該去掉啊?不合理啊?有本事你別用啊?大家各種爭論,因爲很多人覺得這把java的面向對象思想搞得不純粹了。就像基本數據類型一樣。

        當然,阿福在此不予置評,時間自會說明一切。


總結


        當然,面向對象還有很多的東西需要我們去探索,任何一種思維或者方法論都有其存在的意義,我們不能否認。但是我們要不斷的去覆盤,因爲只有這樣,我們才能更好地理解和思考。

        阿福今天說的話題有沒有勾起你的小思緒!有的話下方評論吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章