Série: Angelia
java
26 lignes
· Mis à jour 2026-09-27
GuestList.java
Angelia/Java/Week_6_7/code/05_junit_tdd/GuestList.java
/**
* 賓客名單介面:一個「集合」(set)語意的 ADT。
*
* 語意:一位賓客要嘛「會來」要嘛「不會來」;
* 同一個人 add 兩次的效果,和 add 一次完全一樣。
* 介面完全沒有規定要怎麼實作——這正是黑箱測試能「一份測試、多種實作」的原因。
*/
public interface GuestList {
/** 記錄某位賓客會來。 */
void add(String name);
/** 記錄某位賓客不來了(若原本就不在名單上,什麼都不做)。 */
void remove(String name);
/** @return 該賓客目前是否會來 */
boolean isComing(String name);
/** @return 目前會來的賓客人數(不重複計算) */
int count();
/**
* @return 目前會來的賓客名字(防禦性複製:呼叫者改這個陣列不會影響名單)
*/
String[] coming();
}
Articles liés
Angelia
haskell
EN
Mis à jour 2026-02-03
Adding.hs
Adding.hs — haskell source code from the Angelia learning materials (Angelia/Haskell/Adding.hs).
Lire l'article →
Angelia
haskell
EN
Mis à jour 2026-02-03
Area.hs
Area.hs — haskell source code from the Angelia learning materials (Angelia/Haskell/Area.hs).
Lire l'article →
Angelia
haskell
EN
Mis à jour 2026-02-03
Chess.hs
Chess.hs — haskell source code from the Angelia learning materials (Angelia/Haskell/Chess.hs).
Lire l'article →
Angelia
haskell
EN
Mis à jour 2026-02-03
ChessGraphics.hs
ChessGraphics.hs — haskell source code from the Angelia learning materials (Angelia/Haskell/ChessGraphics.hs).
Lire l'article →
Angelia
haskell
EN
Mis à jour 2026-02-03
Examples.hs
Examples.hs — haskell source code from the Angelia learning materials (Angelia/Haskell/Examples.hs).
Lire l'article →
Angelia
haskell
EN
Mis à jour 2026-02-03
Fibonacci.hs
Fibonacci.hs — haskell source code from the Angelia learning materials (Angelia/Haskell/Fibonacci.hs).
Lire l'article →