Re: [問題] 想請問interface的具體意義
※ 引述《jaw109 (潑文章都是為了養小雞)》之銘言:
: 恕刪.....
: 有朋友問到我所謂的靜態動態是什麼意思
雖然懂你的意思,不過你的用詞老實講…實在不太好
因為動態連結(dynamic binding)跟靜態連結(static binding)
是有其他意思的,跟你在這裡指的東西關係不大
: : 然後兩者都可以這樣做:
: : C++:
: : 電動雨刷* abc = new 汽車; // 無參數時括號可省略
: : Java:
: : 電動雨刷 abc = new 汽車(); // 括號一定要加
: 我對Java這一行很有興趣....
: (不過, 電動雨刷那個token應該要改成交通工具吧? 至少C++是如此的...)
why not? base pointer point to derived instance
很合理啊
電動雨刷同樣是汽車的 superclass, 這樣做並沒什麼不對
: 如果我這麼寫(Java code)
: 交通工具 Civic = new 汽車();
: Civic.刷刷刷(); // 會執行刷雨刷的動作,這OK
: 交通工具 Dio = new 機車();
: Dio.刷刷刷(); // 這會發生什麼事情?
: do nothing嗎?
交通工具有「刷刷刷」這個 method 嗎?
沒有的話,你兩邊都會 compile error, 就算汽車有實作「刷刷刷」也一樣
有的話,就要看你交通工具怎麼實作「刷刷刷」
這跟「電動雨刷」一點關係也沒有
因為交通工具根本就不知道「電動雨刷」的存在
除非你加上去……
但如果你這麼做,就違反你自己本身對「交通工具」的前提了
這個問題跟 C++ 或 Java 並沒有關係
--
「行け!Loki!」(rocky ロッキー)
-Gurumin ぐるみん 王子? XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.28.18
討論串 (同標題文章)