Swift,具有相同命名静态函数的派生 类

Swift, derived classes with same named static function

我想为彼此派生的多个 类 使用相同的命名静态函数。我真的不想给它们起名字G_something、H_something等等

swift有什么方法可以做到这一点:

class G {
    static func dosomething()
    {
        print("G")
    }
}

class H : G {
    class func dosomething()
    {
        G.dosomething()
        print("H")
    }
}

class I : H {
    class func dosomething()
    {
        H.dosomething()
        print("I")
    }
}

I.dosomething()

简而言之:

class G {
    class func dosomething()
    {
        print("G")
    }
}

class H : G {
    override class func dosomething()
    {
        super.dosomething()
        print("H")
    }
}

class I : H {
    override class func dosomething()
    {
        super.dosomething()
        print("I")
    }
}

I.dosomething()

G

H

I

简单的覆盖应该有效:

class G {
    class func dosomething()
    {
        print("G")
    }
}

class H : G {
    override class func dosomething()
    {
        super.dosomething()
        print("H")
    }
}

class I : H {
    override class func dosomething()
    {
        super.dosomething()
        print("I")
    }
}


I.dosomething()