作者godfat (godfat 真常)
看板java
标题Re: [问题] 想请问interface的具体意义
时间Mon Jan 22 21:48:19 2007
※ 引述《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