Sobes.tech
Junior — Middle

Kann man bei der Überschreibung von Methoden unterschiedliche Parameternamen in der Signatur verwenden?

sobes.tech KI

Antwort von AI

In Swift, beim Überschreiben von Methoden können unterschiedliche Parameternamen in der Signatur verwendet werden, aber es ist wichtig zu verstehen, dass für den Compiler die externen Parameternamen (external parameter names) entscheidend sind, nicht die internen (internal parameter names).

Beim Überschreiben einer Methode muss die externe Schnittstelle übereinstimmen, damit die Methode korrekt überschrieben wird. Die internen Parameternamen können abweichen, da sie nur innerhalb des Methodenkörpers sichtbar sind.

Beispiel:

class Parent {
    func greet(name personName: String) {
        print("Hello, \(personName)")
    }
}

class Child: Parent {
    override func greet(name friendName: String) { // externer Parameter "name" stimmt überein
        print("Hi, \(friendName)")
    }
}

Hier stimmt der externe Parameter name überein, und die internen Namen (personName und friendName) unterscheiden sich — das ist zulässig.