Sobes.tech
Junior — Middle

É possível implementar herança múltipla na linguagem Swift?

sobes.tech IA

Resposta da IA

Na linguagem Swift não é suportada herança múltipla de classes, ou seja, uma classe só pode herdar de uma superclasse.

No entanto, Swift suporta protocolos, que permitem implementar funcionalidades semelhantes à herança múltipla através da implementação de vários protocolos.

Exemplo:

protocol Flyable {
    func fly()
}

protocol Swimmable {
    func swim()
}

class Animal {
    func eat() {
        print("A comer")
    }
}

class Duck: Animal, Flyable, Swimmable {
    func fly() {
        print("A voar")
    }
    
    func swim() {
        print("A nadar")
    }
}

let donald = Duck()
donald.eat()  // A comer
donald.fly()  // A voar
donald.swim() // A nadar

Assim, para expandir a funcionalidade, usa-se herança de uma classe e implementação de vários protocolos.