Junior — Middle
¿Se puede usar diferentes nombres de parámetros en la firma al sobrescribir métodos?
sobes.tech AI
Respuesta de la IA
En Swift, al sobrescribir métodos, se pueden usar diferentes nombres de parámetros en la firma, pero es importante entender que para el compilador, los nombres externos de los parámetros (nombres de parámetros externos) son los que importan, no los internos (nombres de parámetros internos).
Al sobrescribir un método, la interfaz externa debe coincidir para que el método sea sobrescrito correctamente. Los nombres internos de los parámetros pueden diferir, ya que solo son visibles dentro del cuerpo del método.
Ejemplo:
class Parent {
func greet(name personName: String) {
print("Hello, \(personName)")
}
}
class Child: Parent {
override func greet(name friendName: String) { // el parámetro externo "name" coincide
print("Hi, \(friendName)")
}
}
Aquí, el parámetro externo name coincide, y el nombre interno (personName y friendName) difiere, lo cual es permitido.