2.Swift 类和接口详解

2.Swift 类和接口详解

  • Swift 类和接口详解
    • 类继承
    • 类动态扩展
    • 协议接口
    • 输出结果

类继承

:

// 父类
class Me{
    var _name:String?="???"

    init(){
    }

    init(name:String){
        self._name = name
    }

    func say(){
        print("Me: \(self._name)")
    }

    // 静态方法
    class func classfunc(){
        print("static class func")
    }

}

// 子类
class SuperCat: Me {
    // 重写父类say()
    override func say() {
        super.say()
        print("SuperCat: \(self._name)")
    }
}

类动态扩展

extension

// 类的动态扩展(给Me类动态添加一个方法superSay)
extension Me{
    func superSay(){
        print("extension class")
    }
}

协议(接口)

protocol

// 定义一个接口(协议)
protocol Interface{
    func info()->String
}

// 协议实现类
class Implement:Interface{
    func info() -> String {
        return "implement"
    }
}

输出结果

print(" ====== 普通 ======",terminator: "\n") var m1 = Me() var m2 = Me(name:"CaMnter") m1.say() m2.say() Me.classfunc() print(" ====== 继承 ======",terminator: "\n") var sc = SuperCat(name: "CaMnter") sc.say() print(" ====== 类的动态扩展 ======",terminator: "\n") sc.superSay() print(" ====== 接口 ======",terminator: "\n") var i2 = Implement() print("\(i2.info())")

输出结果:

 ====== 普通 ======
Me: Optional("???")
Me: Optional("CaMnter")
static class func
 ====== 继承 ======
Me: Optional("CaMnter")
SuperCat: Optional("CaMnter")
 ====== 类的动态扩展 ======
extension class
 ====== 接口 ======
implement

你可能感兴趣的:(继承,String,Class,swift,扩展)