作者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