Re: [問題] 想請問interface的具體意義
站內,引用外轉無妨
站內理由是不想再引起語言戰爭 XD
(而且似乎離題太遠了)
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: ※ 引述《jaw109 (潑文章都是為了養小雞)》之銘言:
: : anyway, 非常感謝大家這麼熱心投入討論
: : 我的心得是, 對JAVA的認識越多
: : 感覺JAVA與C++的距離就越遠
: : 人家說學過C++再學JAVA會很容易
: : 我認為根本不是那樣呢...
: 我是學了 Java,然後現在因為當 TA 的關係,回頭「看」C++
: 以我的經驗來說,學過 C++ 再來學 Java 真的比較容易
個人心得是,我越了解 Java, 就越覺得 Java 實在很容易(單指語言)
個人覺得,那些覺得了解 C++ 並不會讓學 Java 比較容易的人,
根本就還沒把 C++ 玩完。鄭重聲明這是個人感覺… XD
C++ 很複雜,真的很複雜,複雜到我花了不少時間,
卻也覺得還有太多東西沒搞懂。而 Java 目前我只翻過一本書,
Java in a Nutshell 5th, 只有前面看了一點,後面就懶得看了… Orz
因為覺得沒什麼新意,有點無聊,真的沒看過的東西,
試試猜猜也多半猜得到。(因為 C++ 裡多半能找到影子)
再次聲明,個人感覺,不要拿這點來罵我 XD
看看就好,當一個參考,有人這樣想
: 跟 C++ 比起來,Java 語言
: 從名詞的確立導致語法的好讀性、限制一些彈性(也可以說簡化)
: 都可以免去一些有的沒的困擾
我寫起 Java 老實講,雖然常常會想罵缺少很多 feature,
但是,真的寫起來卻是很愉快。理由很簡單,因為沒有困擾。
在 C++ 中常常會有很多方法可以做到同一件事,所以我會思考
到底該怎麼做比較好。而 Java 呢?抱歉,沒得選擇,就是這樣一條路。
所以寫起來很輕鬆愉快…這是好是壞就看個人了,我沒意見,
每個語言都有他的路。但 Java 比 C++ 簡單太多我認為是不可否認的。
(純就語言,不談程式庫,也不談 scalability)
: 像 Java 中的 interface
: 我原本以為 C++ 裡頭沒有 [毆飛]
: 後來才知道原來在 class 裡頭不寫 method 的 detail 就是 Java 的 interface
: 只是,這樣子似乎得靠自己去 check 哪些 method 已經 implement
no, try pure virtual function.
class Base{
public:
virtual void f() = 0;
};
class Derived: public Base{};
Derived d; // compile error, 不能建立抽象類別 Derived 的實體,
// 因為 f() 沒有被實作。
: C++ 用「:」這種... 我覺得很鳥的符號
: 也分不出 extend 跟 implement 的分別(應該啦)
確實不容易分,如果全部都是 public inheritance 的話
(private inheritance 有時候會被叫成 implementation inheritance)
不過我覺得這不是什麼問題就是了,分這兩種覺得不是很必要
真的要分,用人工的「規範」來做也不是不行
(convention over configuration, 是吧? XD)
像是很多人會把 interface 前綴 I
class I電動雨刷;
算是常見
: 再來就是多重繼承帶來的... 恩... 複雜性...
多重繼承我不敢任意下評論 :o
: 所以... 如果搞懂 C++ 裡頭的物件
: 再回頭看 Java,理論上應該是比較快樂才對....
: (唯一的例外大概是... 天生喜歡在曖昧不明當中取得彈性的人吧.... XD)
我有一個朋友,從 Java 學上來的
有時候我跟他講一些 C++ 的概念,他會忽然恍然,
原來還有這種事啊,學 Java 根本不會知道。
(例如,pointer/reference 與 value 的差異
印象中,C# 還特別把 value 獨立出來,
Java 應該沒有,只有 primitive 可以有 value 能力)
知不知道這些到底重不重要,我想是看人,
就像這段末端所說的,也許喜歡用曖昧來取得彈性的人,大概不會喜歡 C++
btw, 我也不喜歡 Perl :( 不過倒是滿欣賞的,純觀賞…不介入 XD
以上通篇充滿主觀意識,除了 pure virtaul function 那段
--
By Gamers, For Gamers - from the past Interplay
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.28.18
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 18 之 29 篇):