Swift 中的静态方法继承

Base and Derived Classes:

class BaseClass{

    class func staticMethod(){

        println("BaseClass.staticMethod")

    }

    

    class func staticMethodWithSelfCall(){

        self.staticMethod()

    }

    

    func instanceMethodWithStaticCall(){

        self.dynamicType.staticMethod()

    }

}



class DerivedClass : BaseClass{

    override class func staticMethod(){

        println("DerivedClass.staticMethod")

    }

}

Test Code:

    BaseClass.staticMethod()

    DerivedClass.staticMethod()

    

    BaseClass.staticMethodWithSelfCall()

    DerivedClass.staticMethodWithSelfCall()

    

    BaseClass().instanceMethodWithStaticCall()

    DerivedClass().instanceMethodWithStaticCall()

Output:

BaseClass.staticMethod

DerivedClass.staticMethod

BaseClass.staticMethod

DerivedClass.staticMethod

BaseClass.staticMethod

DerivedClass.staticMethod

 

你可能感兴趣的:(swift)