class Account { //屬性 定義 var firstName: String var lastName: String var balance: Double var rate = 0.0 // 構造函數 init(firstName:String , lastName:String , balance: Double){ self.firstName=firstName self.lastName=lastName self.balance=balance } // 方便化的 構造函數 convenience init (){ self.init(firstName:"",lastName:"",balance:0.0 ) } // 定義對象方法 func printBreakDown() { var balance = "\(self.balance)" println("printBreakDown ...\(self.firstName) \(self.lastName) \(balance)") } func interestOverYears(years: Int) ->(Double) { return 0 } } //繼承類 class CheckingAccount: Account { //重載構造函數 override init(firstName: String, lastName: String, balance: Double) { super.init(firstName: firstName, lastName: lastName, balance: balance) self.rate = 4 } //重構對象方法 override func interestOverYears(years: Int) ->(Double) { return (rate * balance * Double(years)) / 100 } } var account=Account(firstName: "kai", lastName: "wang", balance: 1233.3) account.printBreakDown() var checkAccount = CheckingAccount(firstName: "kai", lastName: "wanbg", balance: 1300.0) checkAccount.interestOverYears(10)