作者godfat (godfat 真常)
看板java
標題Re: [問題] class變數存取問題
時間Wed Mar 15 12:23:58 2006
※ 引述《TonyQ (骨頭)》之銘言:
: 簡單來說,像PsMonkey講的,Java沒辦法overriding operator,
: 你前文提到要比較a跟b,A跟B本來就是T,所以當然是從t下手。
嗯,我想正名一下
是 operator overloading(簡稱 OO?), 不是 overriding
override 通常是牽涉到 dynamic binding, 也就是執行時決議 function
但是對於我們想「改寫」運算子方法時,通常是不會用多形的手法
(至少我沒看過,感覺也很古怪…)
而是編譯期我們就已經確定他要去使用哪一個 function
這種時候不需要用到 override, 這樣會有額外的負擔
雖然我不知道 compiler 是否會判斷說因為你用不到 dynamic binding,
所以在編譯期就把 function 寫死。
如果是這樣,任意 override 大概關係就不會太大。
: (你也得先知道要比對T的甚麼條件才能 overriding operator吧??:P)
在 C++ 中,template 的泛型手法並不需要知道 T 是什麼
任何有實作所使用到的介面的型別,我們都可以說他符合 T
侯捷這篇文章討論了一點 C++ 與 Java 的泛型
http://www.jjhou.com/javatwo-2004-gp-in-jdk15.pdf
--
Hear me exalted spirits. Hear me, be you gods or devils, ye who hold
dominion here:
I am a wizard without a home. I am a wonderer seeking refuge.
Sacrifice
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.210.113