# 問:為什麼何廷芳還可以出來?(3分) https://ent.ltn.com.tw/news/paper/421760 ``` class 元配 { var name: String var 陰影: 婚姻? init(name: String) { self.name = name } func 譙(小三: 第三者) { print("\(name) 告 \(小三.name)") print("\(name): 終於出了口氣") 小三.被譙() } func 願意離婚(婚姻: 婚姻, 離婚條件: Bool) -> Bool { if 離婚條件 { print("和\(name)離婚") 陰影 = 婚姻 return true } else { print("和\(name)離不了婚") 譙(小三: 婚姻.小三!) return false } } } class 第三者: 元配 { func 被譙() { print("\(name)處境可憐") } } class 婚姻 { var 老婆: 元配 { didSet { print("和\(老婆.name)結婚") } } var 小三: 第三者? = nil { didSet { guard let 小三 = 小三 else { return } print("\(小三.name)介入") } } init(老婆: 元配) { self.老婆 = 老婆 } func add(小三: 第三者) { self.小三 = 小三 } func 談判(離婚條件: Bool) throws -> Bool { if 老婆.願意離婚(婚姻: self, 離婚條件: 離婚條件) { 老婆 = 小三! 小三 = nil return true } else { throw NSError(domain: "婦女團體撻伐", code: 9453, userInfo: ["無恥": "true", "不厚道": true]) } } } var 高國華婚姻 = 婚姻(老婆: 元配(name: "何廷芳")) let 小三 = 第三者(name: "蔡郁璇") 高國華婚姻.add(小三: 小三) try! 高國華婚姻.談判(離婚條件: true) let 小三的小三 = 第三者(name: "陳子璇") 高國華婚姻.add(小三: 小三的小三) try! 高國華婚姻.談判(離婚條件: false) ```