作者TonyQ (骨头)
站内java
标题Re: [问题] class变数存取问题
时间Wed Mar 15 14:52:21 2006
<Local> XD
※ 引述《godfat (godfat 真常)》之铭言:
: ※ 引述《TonyQ (骨头)》之铭言:
: 嗯,我想正名一下
: 是 operator overloading(简称 OO?), 不是 overriding
: override 通常是牵涉到 dynamic binding, 也就是执行时决议 function
: 但是对於我们想「改写」运算子方法时,通常是不会用多形的手法
: (至少我没看过,感觉也很古怪…)
这故事告诉我们英文要学好...还有不要跟着别人回文讲...(瞪某P)
: 而是编译期我们就已经确定他要去使用哪一个 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
本人文中所述的T是它问题中function中所写的T,并非C++的泛型,
相信现在Java版讨论的是Java的东西也不是讨论C++的东西。:P
引用原文的程式码如下
class XXXX <T>{
public T bigger(T a,T b){
if(a>b) return a;
else return b;
}
}
<底下是一些个人感觉...>
将两个程式码的语言或用法混在一起讲,很容易造成阅读者
以及回答者的困扰,毕竟是在Java版讨论Java的事情却被别的语言打扰。XD
<结束>
(这pdf真是难连 XD)
不过透过这篇pdf倒是验证了一些个人对泛型的想法,
站在一个学习者的角度来看,也算是得到了一个肯定的答案。:P
站在Java撰写者的立场上,对物件比较势必要有个rule,
这是我当初直觉的想法,因为Object本身就是个T。XD
所以看到这里的T,倒是也很直觉的就带入Java的想法,
不过不知道T是甚麽的时候的比对方式,还是会有它的rule吧。:)
就像是Object的equals()或甚麽其他的。
相信虽然语言和实作的方式不一样,但是核心的概念是不会变的。
--
只是闲聊 哈哈哈
题外话,
突然想到侯捷在我们学校资工系有开高等物件导向的课程,
内容就是在讲template 泛型技术。
真是让人汗颜,看来是时候认真去旁听吸收点知识了:P
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.240.58
※ 编辑: TonyQ 来自: 140.138.240.58 (03/15 15:06)