當前位置:妙知谷 >

遊戲數碼 >互聯網 >

如何理解面向對象

如何理解面向對象

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

如何理解面向對象

操作方法

(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張
標籤: 面向對象
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/hulianwang/r879o7.html