開發設計兩個類:
雞,構造的時候要帶入蛋.
蛋,構造的時候要帶入雞.
編譯沒問題,初始化數據的時候問題出來了.
new 雞(new 蛋(???)) //蛋是誰下的?
作為一個正統的進化論學生,解決如下:構造原始雞類,雞開始是不下蛋的,把雞的構造函數改成空的,這時候初始化一條原始雞的數據沒問題.然后進化出來蛋,雞下的,類不用改,把蛋的數據初始化好.這時候雞進化,由蛋孵出來,構造方法要帶蛋進來,初始化一只新雞,刪除原始雞數據.
OK,問題解決了嗎?這樣程序每次初始化數據的時候要改造雞類,好像不大容易啊....
那上帝造物學說怎樣解決問題呢?:
雞1 = new 雞(null);
蛋1 = new 蛋(null);
雞1.set蛋(蛋1);
蛋1.set雞(雞1);
save(雞1,蛋1);
雞和蛋同時出來了.上帝造物法勝利

是不是我的類設計有問題,怎么會碰到雞生蛋蛋孵雞這種郁悶的問題呢?