看板java
标 题Re: [问题] 请问toString的观念
发信站无名小站 (Fri Apr 28 11:07:36 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!news.ee.ttu!netnews.csie.nc
看来您的观念还是不很清楚,
建议您去google查一下啥是dynamic binding,
啥是polymorphism.
※ 引述《[email protected]》之铭言:
> ※ 引述《adrianshum》之铭言:
> > 建议你去看看有关 virtual function table 那些东西的概念吧...
> > 尝试用抽象一点的方法说一说
> > 当你的 object (叫 A class 吧) 被建立时, 其 vftab 也会被建立.
> 以上是 compiler 时期建立的。
> > 当中有一个entry 是 "toString" 而该 entry 则指着 A 的 toString
> > 而当一个 Object 的 reference 指着一个实体时, invoke
> > obj.toString() 时, compiler 并不是把这句译成 invoke A 的 toString
> > (因为这是不可能的, 这是 runtime 才能决定的, 不然就没有了 polymorphism
> > 的用意了), 而实际的动作, 是去到该 object 的 vftab 中, 找出 "toString"
> > 的 entry, 然後 invoke 该entry 所指着的 method.
> 当一个 instance 被宣告并定义时,它的 type 就被决定了,
> 也代表相关的 virtual function 已经指定到该呼叫的地方(compiler 时即以决定)。
> 那麽,这该算是由 compiler 做好多型的mapping吗 ?
> > 大概的概念是这样.
> > Alien
--
夫兵者不祥之器物或恶之故有道者不处君子居则贵左用兵则贵右兵者不祥之器非君子
之器不得已而用之恬淡为上胜而不美而美之者是乐杀人夫乐杀人者则不可得志於天下
矣吉事尚左凶事尚右偏将军居左上将军居右言以丧礼处之杀人之众以哀悲泣之战胜以
丧礼处之道常无名朴虽小天下莫能臣侯王若能守之万物将自宾天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦将知止知止可以不殆譬道之在天下202.75.4.140海