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
时间: 2024-11-10 14:40:27