作者GhriS (童貞肥宅)
看板java
標題[問題] 有關has-a與is-a的疑問
時間Fri Jan 19 15:13:25 2018
小弟最近在準備考java的證照
遇到題有關has-a is-a的問題
-------------------------------------------
import java.util.*;
interface Glommer {}
interface Plinkable {}
class Flimmer implements Plinkable {
List<Tagget> t = new ArrayList<Tagget>() ;
}
class Flommer extends Flimmer {}
class Tagget {
void doStuff() { String s = "yo"; }
}
-------------------------------------------
Which three statements concerning the OO concepts "is-a" and "has-a" are true?
-------------------------------------------
A) Flimmer is-a Plinkable.
B) Flommer has-a Tagget.
C) Flommer is-a Glommer.
D) Tagget has-a String.
E) Flommer is-a Plinkable.
F) Flimmer is-a Flommer.
G) Tagget is-a Plinkable.
--------------------------------------------
A, E 沒甚麼問題 但第3個實在不知道要選B還D
我看網路上解答有的是B 有的是D
關於D我有查到一篇是有把方法區域變數也算has-a
但B我就沒查到甚麼東西
不知道有沒有人可以替我解惑的
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.209.48
※ 文章網址: https://www.ptt.cc/bbs/java/M.1516346008.A.B4A.html
推 crowd7: 覺得是B. 區域變數應該不能用has a..它不能保持物件狀態 01/19 16:10
小弟也是選B 區域變數也算的話 感覺這has-a也太廣了
※ 編輯: GhriS (123.193.209.48), 01/19/2018 16:57:34
推 longlongint: 繼承類是is a, member 類是 has a 01/24 13:05
→ longlongint: 繼承的時候會繼承 has a 01/24 13:05
推 longlongint: D 應該是 has a function, B應該是 has a List<Togg 01/24 13:08
→ longlongint: le>. 都不用選 01/24 13:08
→ longlongint: 打錯 tagget 01/24 13:08
→ GhriS: 感謝大大解釋 說實在我覺得BD都很勉強 能不選最好 01/26 12:59
→ GhriS: 但無奈題目要人選3個... 01/26 12:59
→ GhriS: 今天去考完有出這題 oracle給的應該是ABE 01/26 13:00
→ GhriS: 錯誤提示沒有出現關於is-a has-a的 01/26 13:00