Junior — Middle
Is it possible to implement static method dispatching within a class?
sobes.tech AI
Answer from AI
In the Swift language (mainly for iOS), static method dispatch within a class is possible for methods declared as static or final. Such methods are called directly by type, without dynamic lookup in the virtual method table.
Example:
class MyClass {
static func staticMethod() {
print("Static method")
}
final func finalMethod() {
print("Final method")
}
func dynamicMethod() {
print("Dynamic method")
}
}
MyClass.staticMethod() // call static method
let obj = MyClass()
obj.finalMethod() // call final method (static dispatch)
obj.dynamicMethod() // call dynamic method (dynamic dispatch)
Thus, static dispatch is possible, but only for methods that cannot be overridden in subclasses.