Re: [請益] 我這樣解釋OOP對嗎?

看板Soft_Job (軟體人)作者 (MAKOTO)時間8年前 (2017/11/18 18:22), 編輯推噓-1(125)
留言8則, 4人參與, 8年前最新討論串19/19 (看更多)
Re: [請益] 我這樣解釋OOP對嗎? (類別)杯子的概念 (屬性)材質,外型,顏色,目前容量,最大容量,內容物 (方法)倒入,倒出 (事件)if(目前容量>最大容量) then 漏出 封裝---使用杯子的人(User)只能用倒入,倒出方法去控制杯子的目前容量屬性 其餘屬性以User的角度來說無法控制 繼承---當新造一個杯子的時候,製作者(開發人員)可以決定材質,外型,顏色,最大容量 當一種新的杯子的概念生成時,繼承杯子的部分屬性 繼承杯子的概念,OverWrite材質為玻璃 杯子------------------------------------>玻璃杯 多形---以玻璃杯為概念,製作實體,並更改容量,外型與顏色 生成實體(New),設定外型 玻璃杯------------------------------->高腳玻璃杯 生成實體(New),設定顏色 玻璃杯------------------------------->藍色玻璃杯 生成實體(New),設定容量與外型 玻璃杯------------------------------->啤酒杯 介面---為物件追加一個原來類別中不存在的方法 有天在酒吧有兩個人在吵架,其中一人想拿東西打人 在他面前剛好有三個杯子,於是就砸出去了 高腳玻璃杯:打人(繼承打人介面) 藍色玻璃杯:打人(繼承打人介面) 啤酒杯:打人(繼承打人介面) 當然能拿來打人的不只是杯子,於是他拿了身邊的東西 球棒:打人(繼承打人介面) 椅子:打人(繼承打人介面) 桌子:打人(如果力氣夠大的話) 不管什麼東西都可以拿來打人,所以打人這個動作就可以稱為介面 大概4這樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.102.123 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1511000576.A.084.html

11/18 19:50, 8年前 , 1F
介面視上下文,意思可能不同,可能是方法的外觀,但
11/18 19:50, 1F

11/18 19:50, 8年前 , 2F
講OOP時通常是指另一種
11/18 19:50, 2F

11/18 19:56, 8年前 , 3F
也就是對方法的規範,跟實作類別有is(或稱can-do、wea
11/18 19:56, 3F

11/18 19:56, 8年前 , 4F
k is-a)關係,也有人不會特地去分is跟is-a,像C++就沒
11/18 19:56, 4F

11/18 19:56, 8年前 , 5F
辦法區分這兩個,只能一律用抽象類別實現
11/18 19:56, 5F

11/18 20:46, 8年前 , 6F
對啦都對,不要再解釋了
11/18 20:46, 6F

11/19 11:40, 8年前 , 7F
都對都對... 大家都對
11/19 11:40, 7F

11/24 16:24, 8年前 , 8F
笑了
11/24 16:24, 8F
文章代碼(AID): #1Q40e024 (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1Q40e024 (Soft_Job)