揭祕類與對象之間的關係---征服OOP的思維方式03

上午給大家描述了簡單的OOP思維方式,可能大家還感覺不出來面向對象和麪向過程的區別,不要急,讓我們接着上午的話題。類和對象的關係!
在Java中(OOP中),一類事物的抽象描述叫做類,而對象是該類事物的實體,類是用來創建對象的模板!
怎麼理解呢?
在OOP中,用來抽象的描述現實世界中的事物的東西叫做類,既然是用來描述現實世界中的事物,那麼至少就應該具備該事物的屬性和行爲。
就比如一個人,姓名和性別就是他的屬性,吃飯和睡覺就是他的行爲。
在類中,用成員變量來描述事物的屬性,用成員方法來描述事物的行爲。還記得猜單詞小程序中的SqlDemo類嗎,看下面這張圖
這裏寫圖片描述
相信大家已經初步的瞭解了類的基本組成了吧,沒錯,類就是由成員變量和成員方法組成。一個用來描述事物的屬性,一個用來描述事物的行爲。
好了,再來說說對象,話說對象是個啥玩意兒呢!假如你女朋友叫小紅,那麼小紅就是你的一個對象(假裝一下有女朋友哈)!!!
沒錯,就是這樣理解的!!!
不過你肯定不信, 不信不要緊,上面咱不是說到類是描述現實世界中的事物嘛。
這裏“女朋友”就可以看成是一個類,而女朋友的姓名、性別和年齡屬於她的屬性,也就是成員變量。
洗衣服,(sheng)做飯(wa)等就是她的行爲,也就是成員方法!
對不對!然而有個很重要的因素,並不是所有人都有女朋友對不對!!!!
因此”女朋友“只能是一個抽象的羣體,
而在某一天,你在這個羣體中認識了一個叫小紅的“女朋友”,你們一見如故,彈起來了戀愛,因此小紅就成了你的對象。emmmm。。。。。
這樣解釋,大家是不是有點弄明白了對象是啥了吧。哈哈。。。。。
好了理解了對象後我們來談談對象和類之間的關係,很顯然,從上述的案例中很顯然,當有“女朋友”這個類的時候你依然是個單身汪,洗衣服,(sheng)做飯(wa)依然還是要你自己去完成。自己不想做怎麼辦?那就得創建“女朋友”類的實例對象啊,也就是要找到小紅啊!對不對!找到小紅後就可以都交還給小紅去做了,然後你就可以坐着吃飯,對不對!
這裏不瞎掰了,還記得猜單詞小程序2.0版本中的Start類嗎?趕緊回憶一下!!

public class Start {
	public void init() {
		//創建sq對象
		SqlDemo sq = new SqlDemo();
		//調用該對象的getArr1()方法獲取正確的中文意思
		String str1 = sq.getArr1();
		//創建in對象
		Input in = new Input();
		//調用該對象的getAns()方法獲取用戶輸入的值
		String str2=in.getAns();
		//創建ju對象
		Judge ju = new Judge();
		//調用該對象的contrast方法來判斷用戶的答案是否正確
		boolean flag = ju.contrast(str1, str2);
		//創建show對象
		Show show = new Show();
		//調用該對象的showMessage方法來顯示用戶的反饋信息
		show.showMessage(flag);
	}
}

這裏寫圖片描述

看圖中的那幾個框子,這就是創建對象的過程。
再說的明確一點:對象是實體,可以幫我們搞事情,而類是對象的模板。
我們找女朋友的過程就是創建對象的過程,但是我們找女朋友必定是在女性朋友的範圍中找對不對(如果你是正常人的話),OOP中的類就是這個範圍。
好了,關於類和對象就解釋到這裏了。
相信大家已經初步的理解了OOP中類和對象了吧,回憶一下我們寫代碼是做什麼的嗎?不就是描述現實世界嘛,
在業界內有本賊牛逼的書叫做Java編程思想,裏面有一句話叫做“萬物皆對象”,沒錯。這個世界上所有的東西都可以看成是一個對象,書我會上傳,需要的可以自行下載。之所以Java語言來給大家介紹OOP的思維方式就是因爲Java比較容易理解。
好了。大家應該都有所收穫吧,

下一篇將結合猜單詞的小程序給大家介紹Java語言中的設計原則和設計模式

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