Java oop自己提前學的學習筆記4:類和對象的互相轉(zhuǎn)換,類與對象的實例,重點,理解

由類轉(zhuǎn)換到對象的過程叫實例化。
由對象轉(zhuǎn)換到類的過程叫抽象。
對象又被稱為實例,即instance。
要想做Java開發(fā),每一個同學都應(yīng)該具有抽象能力,抽象總結(jié)能力是每一個人都應(yīng)該有的。
總結(jié)抽象的實例?
把桌子進行抽象,定義成一個類。辦公桌是一個類,課桌也是一個類。
把課桌抽象成一個類:高度,寬度,材質(zhì),鐵的,塑料的,木頭的,合成的。(就是對象的特征就是類,取類中的很多個個體對象的交集詞就是這個類的抽象,即對象與對象之間的共同特征,共有的東西)
抽象一下學生這個類:身高,年齡,性格。(因為學生A與學生B都共同擁有身高,年齡,性格)
抽象一下公司這個類:部門
抽象一下汽車這個類:顏色
抽象一下人這個類:身高,體重,姓名,出生日期,(每一個中國人的)身份證號(沒有身份證號就是黑戶),國籍。
兩個人的國籍可能不一樣,但是都是″人″這個類型。
看到潘長江和姚明提取一個類:明星(這兩個人都屬于明星類。這兩個人擁有共同特征:這兩個人都是有身高的)
比如一個一米七的人,一個兩米七的人,但不管身高如何,他們都是身高。身高具體到某一個對象之后,身高具體的值不一樣。
名字算一個共同特征,但是名字具體到某一個對象(某一個對象中有對象A,對象B等等)上之后,名字(有名字A,名字B等等)就不一樣。
因此想要訪問這個名字,就得先有對象才能夠訪問這個名字。沒有對象就訪問不了名字。名字具有對象的個體差異。
包括身份證號,每個人的身份證號都不一樣,在程序里面只有類,沒有對象,就無法訪問身份證號。
類只是去描述每一個人都有身份證號。但是要想真正訪問身份證號,就必須要有對象。就像在現(xiàn)實中,你面前要有一個真實的人,你才能夠去問他,你的身份證號是什么。如果你面前不存在一個人,你能夠問那個人的身份證號是什么嗎?問到一個人的身份證號的前提是那個人存在。
重點
類描述的是對象的共同特征。共同特征例如:身高特征。
這個身高特征在訪問的時候,必須先創(chuàng)建對象,通過對象去訪問這個特征。
因為這個特征具體的某個對象之后,值不同。有的對象(對象A)身高一米八,有的對象(對象B)身高兩米八。
一個類主要描述的信息是?
(一個類主要描述的是: 狀態(tài)+動作)
狀態(tài)信息:名字。身高,性別,年齡。
動作信息:吃,唱歌,跳舞,學習。
狀態(tài)是一個類的屬性。
動作是一個類的方法。
類=屬性+方法
類中的屬性描述對象的狀態(tài)信息。
類中的方法描述對象的動作信息。
注意:狀態(tài)和動作當具體到某一個對象之后,發(fā)現(xiàn)最終的結(jié)果可能不一樣。對象和對象之間有共同特征,但是具體到對象之后,有數(shù)據(jù)的差異。
這樣明白了類的定義之后,就可以從這里開始編寫代碼。
如果你是初學者,面向過程和面向?qū)ο蟮膮^(qū)別建議獨立背出來。
面向過程和面向?qū)ο?/h1>
面向過程是關(guān)注點是在過程方面,過程是因果關(guān)系,即關(guān)注的是因果關(guān)系。
面向?qū)ο笾饕P(guān)注的是對象,關(guān)注點是在對象上,你關(guān)注的是這個對象能夠給你提供什么服務(wù),你不關(guān)心這個對象的內(nèi)部實驗原理。
例如我們眼前看到的電腦,它是由面向?qū)ο蟮姆绞介_發(fā)的。電腦里面的集成顯卡是由面向過程的方式開發(fā)的。
在你把知識全部都學完之后,你可以總結(jié)一下,當做回顧,一口氣把學過的知識背出來。
專業(yè)術(shù)語
面向?qū)ο蟪绦蛟O(shè)計(Object Oriented Programming)
面向?qū)ο蠓治龇椒ǎ∣bject-Oriented Analysis)
面向?qū)ο笤O(shè)計(Object-Oriented Design,OOD)