Skip to main content
 首页 » 操作系统

ios之如何访问父类(super class)

2024年01月01日65kerrycode

我正在利用继承并需要访问父变量。
我怎样才能做到这一点?

class EFPaymentObject: NSObject { 
 
    var price: NSString = "1200" 
    var title: NSString! 
    var desck: NSString! 
    var hasPass: Bool! 
 
    func getPrice() -> NSString() { 
       return price 
    } 
} 
 
class EFGoodsPayment: EFPaymentObject{ 
 
    var pay: NSString = "1" 
    var type: NSString = "3" 
    //var select_club_id: NSString = EFBuyBasket.sharedInstance.getClubId() 
    var goods: NSString = "" 
    var money = price      // doesn't work 
    var money = getPrice() // doesn't work either 
} 

请您参考如下方法:

如果我保留你的示例,你可以在子类初始化期间访问父类(super class)的 price 属性,并为 money 设置默认值,如下所示:

class EFPaymentObject: NSObject { 
 
    var price: NSString = "1200" 
    var title: NSString? 
    var desck: NSString? 
    var hasPass: Bool? 
 
} 
 
class EFGoodsPayment: EFPaymentObject { 
 
    var pay: NSString = "1" 
    var type: NSString = "3" 
    var goods: NSString = "" 
    var money: NSString? 
 
    override init() { 
        super.init() 
        money = super.price 
    } 
 
} 
 
 
let payment = EFGoodsPayment() 
println(payment.money!)       // prints "1200"