10.1类的扩展

2020-06-09  本文已影响0人  LucXion
protocol My {
    func aDo() -> Void
}
class MyClass {
    var name:String
    init() {
        name = "JKL"
    }
}
extension MyClass {
    // 扩展计算属性
    var age:Int {
        return 5
    }
    // 扩展构造方法
    convenience init(parama:String,parama1:Int) {
        self.init()
        name = parama
    }
    // 扩展类方法
    class func doSome()->Void {
        print("doSome")
    }
}
// 在扩展中遵守协议
extension MyClass:My {
    func aDo() {
        print("aDo")
    }
}

extension Int {
    static func doSome ()->Void{
        print("doSome")
    }
    // 在扩展中改变self的值,在类中无效
    mutating func getDouble()-> Int{
        self = self * self
        return self
    }
}
var my = MyClass.init()
my.aDo()
var a = 5
var b = a.getDouble()
上一篇 下一篇

猜你喜欢

热点阅读