abstract data type กำหนดชุดของค่า และ operations ที่อนุญาตบนนั้น อธิบายด้วย behavior เท่านั้น — ไม่ใช่ด้วยโค้ด การใช้งาน (implementation) คือโครงสร้างที่เป็นรูปธรรม (array, linked list, tree) ที่สำเร็จผลบehavior นั้น
ADT เดียวกัน การใช้งานต่างกัน
text
ADT "Queue": enqueue, dequeue, peek (FIFO contract)
Implementation A: array + two indices (ring buffer)
Implementation B: doubly linked list with head/tail pointers
Both honor the SAME contract; cost profiles differ.
เหตุใดจึงต้องแยก
python
:
(): ...
(): ...
(): ...
