外傳——淺談面向對象(上)

想要學習Java的同窗應該都會或多或少地據說過面向對象這個說法,那麼究竟什麼是面向對象?面向對象有什麼好處呢?理解面向對象對咱們的學習,編碼有什麼好處呢?下面咱們就來簡單瞭解下:html

首相,你們得記住一點:面向對象是一種思想,一種思考方式。就像咱們平時看人待物通常,爲何面向對象這麼受推崇,就是由於它和咱們人類對事物的認知方式比較接近。舉個例子,好比咱們要去電腦城攢機,相信不少朋友都有過這種經歷。多線程

那麼咱們去到店裏面應該怎麼作呢?告訴店員咱們要配一臺電腦,而後告訴他要求:顏色,性能要求,外形等等,而後店員就會根據咱們的須要給咱們寫一個單子,上面依次列着CPU、主板、內存、顯卡……,咱們逐個去對比,砍價,最後敲定,裝機。在這個過程當中,咱們首先是要一個對象——電腦。而後在這個對象的基礎上對他的屬性進行要求限制:顏色要黑的、外形要大方的、顯示器要21寸的等。總之,咱們就是在肯定一個對象的基礎上,而後對它身上的各項屬性進行細化的要求。ide

再好比咱們週末在家,準備好好休息下,洗洗衣服,給本身作頓好吃的,順便在網上買幾件東西。因而,早上起牀,咱們洗漱完畢,要作不少事情。可是怎麼作呢?洗漱是一件事,洗衣服是一件事,作飯是一件事,上網購物又是一件事。這些事情咱們均可以將它們看做一個個對象,而後以各類本身認爲合適的方式去組合它們,安排它們的前後執行順序。固然,有人說一件一件作起來比較麻煩,讓洗衣機洗衣服,本身能夠開始作飯。這個固然能夠了,這個多個對象同時啓動,在Java中有多線程的概念,就是來解決這個問題的,在後面咱們會講到。性能

另外,在說到一個概念:全部的對象,任何的對象均可以歸類的。好比豬,牛,馬,羊之類的咱們就能夠歸類爲動物;牙刷,牙膏,毛巾之類的咱們能夠歸爲生活用品一類。可是,在這裏咱們要注意的是,一件東西咱們能夠以它不一樣的屬性爲主,讓它歸到不一樣的類別裏面去:桌子,咱們能夠歸到生活用品,能夠歸到木製品,能夠歸到黃顏色的物體一類(假設這個桌子是黃顏色的)。總之,就是說一個對象它不必定僅僅屬於某一個類別,它有可能既是A,又是B,搞很差仍是C學習

上面咱們說到,能夠按照屬性(上面講的都是靜態的)講對象歸類,那麼一個對象除了前面提到的屬性以外還有一個很重要並且很特別的屬性——行爲。行爲也能夠歸屬到對象的屬性裏面去,它也是屬於這個對象的。只是它表現的是這個對象能夠幹什麼。(下面提到的屬性指的就是上面提到的靜態屬性,不包括行爲)編碼

對一個對象來講,它所擁有的屬性和對象是有關係的。通常狀況下,一個行爲就是在告訴咱們如何去使用或者改變這個對象的某個屬性。好比說:人。人是一個對象,他有眼睛,鼻子,耳朵;他也有不少行爲,好比說吃,喝,聽等等。都是說的這個行爲如何去作一些和它的屬性相關的東西。spa

上面說的都是單個的對象,那麼多個對象之間會有什麼樣的聯繫呢?線程

打個比方,小明是個對象,小明的爸爸——大明也是一個對象。那麼這兩個對象之間就有了一些繼承的關係:小明繼承了爸爸的大眼睛屬性,卻沒有像爸爸同樣,長成一個大嘴巴。在這裏,大眼睛就是兩個對象間繼承過來的,而大嘴巴倒是小明爸獨有的。因而在兩個對象之間就有了一個繼承的關係,繼承的對象之間,有相同的屬性和方法,可是也能夠有本身獨特的屬性和方法存在。htm

本章內容總結一下就是下面這個圖了,寫的時候參考下你們的說法,不過仍是寫上了本身舉的例子,有問題歡迎拍磚:對象

對象圖示

 

IT之美:http://www.hanbinit.com.cn/397.html

IT菜菜:http://www.itcaicai.com/thread-1536-1-1.html

相關文章
相關標籤/搜索