如何理解物件導向

來源:酷知科普網 3.28W

關於“物件導向”,網上有很多相關的介紹--《百科》,《維基百科》等都有詳細的解釋
這裡筆者不準備講什麼理論,希望用更貼切日常生活的方式幫助大家理解物件導向設計的一些技巧,希望對大家有幫助

如何理解物件導向

操作方法

(01)記得當年,JAVA課第一講就是物件導向,用老師的一句話“一切皆物件”,那麼如何理解程式設計中的物件導向,我們重點關注下物件導向程式設計中的幾個關鍵點,下面將以問答形式闡述(程式碼以JAVA示範,讀者可聯絡其它物件導向語言):

如何理解物件導向 第2張

(02)*什麼是物件,物件的方法/屬性又是什麼?這裡的物件可以是一切的事物,包括:人、物體等屬性即是該事務的一些特徵,如:顏色、大小等方法是事務的動作,如:跑,跳等舉個例子:家裡養了一隻棕色的泰迪,它今年一歲半了,喜歡“汪汪”叫這裡的泰迪就是一個物件,“棕色、一歲半”都是它的屬性,叫是它的動作(即方法),用程式碼示範:class Teddy{public Color color;//屬性public double age;//屬性public void bark(){}//方法}

如何理解物件導向 第3張

(03)*怎麼理解程式中的類?所謂“類”,即分類、歸類(--可能有點不太恰當,但是方便理解)就是把具有相似特徵的事物放在一起統稱為類例如:生物學上有:鳥類、哺乳類等劃分

(04)*什麼是繼承?我們還拿上面的泰迪舉例:泰迪、臘腸、黃毛、斑點等,它們有犬類所共有的特徵:都有眼睛、有鼻子、有耳朵、會叫、會跳。。。這些屬性和方法都是從犬類繼承過來的這時我們就可以對上面泰迪的程式碼做些改動,首先定義一個犬類,它有一些通用的屬性和方法class Dog{public Color color;//屬性public double age;//屬性。。。。public void bark(){}//方法}class Teddy extends Dog

(05)*什麼是多型?我們在上面的基礎上再做一些改動,可以看出泰迪和臘腸都繼承了犬類“叫”的動作,但是它們的叫又有些區別,像這不同的犬都用“叫”這個動作,但又有它們各自的特點,這就是多型Dog類不變class Teddy extends Dog{@overridepublic void bark(){}}class Dachshund extends Dog}

如何理解物件導向 第4張

(06)*什麼是封裝?這個其實比較好理解,拿現實生活的例子來說“汽車發動機”,如某國產轎車採用原裝進口發動機,那麼這個轎車生產商直接拿進口發動機來用,不知道發動機內部構造以及如何生產(PS:筆者衷心希望國產汽車能夠強大起來)class Engine{private List<T> materials;private List<T> parts;。。。。private Engine produce(){............}/*****上面的原材料,零部件,生產工藝等等我們是看不到的***/public Engine getEngine()}

如何理解物件導向 第5張
熱門標籤