swift #6 類

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)
相關文章
相關標籤/搜索