可能代碼人人都會寫,但是要上升到思想的層面就會很去說了,我覺得最主要的原因還是找不到切入點,不好進行分析。
那不妨從老生長談的問題當作切入點來談談自己的了解:
“面向對象” vs “面向過程”
這個問題應該都不陌生吧,面向過程想要完成一件事情,主要考慮的事情是:這件事的執行流程是怎麼樣的。而面向對象主要考慮的是:這件事情需要什麼對象,每個對象需要做什麼。
舉個例子:“把大象裝進冰箱的問題”
面向過程
思考完成這件事情需要做哪些步驟,第一步做什麼,第二步做什麼。
第一步:打開冰箱門
第二步:把大象裝進冰箱
第三步:關上冰箱門
面向對象
面向對象的思想就會這麼想:把大象裝進冰箱,首先我要有一個大象,還要有一個冰箱,這個冰箱可以開門,可以關門,主要考慮的是一個一個的對象,而不是直接針對過程去幹。
java的面向對象還展現在:在java中所有的東西都是以“對象”的形式存在的。比如一隻狗,一張桌子,一個類…在Java中都是以對象的形式操作的,都以對象的形式存在,是以在java中有“萬物皆對象”的說法。但是面試的時候一旦你說出“萬物皆對象”你就要對這句話負責。要能解釋清楚萬物皆對象。