※ 引述《capslook1218 (一直當朋友也不錯)》之銘言:
: ※ 引述《qrtt1 (愚人)》之銘言:
: : 呃,二位用的語境不太相同
: : PsMonkey大概想指出java沒有[提供使用者]
: : cpp那樣operator overloading的功能
: : 而"一直當朋友也不錯"(好人!?)
: : 指的ADT的"加號"
: : 其實對ADT來說,只是規範這個abstract data type
: : 所允許的一種加法運算的功能
: : (請注意,ADT描述的是功能,而非如何實作)
: : *請用method的方式為你的ADT加上這個功能*
: 我的意思是說能不能自訂"+ - * /"這樣的符號
: 然後如果不能的話
: 是不是就要用ADT做(也可以不用)
雖然說我資料結構沒學好
(偏偏現在還在帶資料結構助教課 XD)
不過這個 ADT 應該是資料結構的 ADT 吧?
根據 Fundamentals of Data Structures in C 這本書 p.15 提供的定義
An abstract data type (ADT) is a data type that is organized
in such a way that the specification of the objects and the
specification of the operation on the objects is separated
from the representation of the objects and the implementation
of the operations.
下面還寫:
Some programming languages provide explicit mechanisms to
support the distinction between specification and implementation.
For example, Ada has a concept called a package, and C++ has a
concept called a [33;1mclass[m.
C++ 的 class 應該跟 Java 的 class 完全等價
所以,當 qrtt1(大神)回你那篇之後
你這篇仍然說「是不是就要用 ADT 作」
這... 似乎有點囧....
: 之後我打著打著又想到說API說不定會有這個東西
: 我跑去查...沒找到(可能我功力不夠吧~_~我是找math裡面的東西可是好像沒看到~_~)
: 英文太爛了....
: ps:一直當朋友也不錯.....這是我心中的痛別提了......不過我不敢自稱是好人
: 感謝兩位大大的講解
--
戰略高手 -- CompScience 組組長 PsMonkey
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.192.29