Final Class: O que é?

Entendendo a palavra chave final.

Em Swift, a habilidade de uma classe herdar médotos, propriedade e características de outras classes, é uma habilidade maravilhosa e muito útil para nós desenvolvedores. Boa parte da plataforma iOS é construída justamente em cima dessa habilidade de herança de classes.

Porém, podem existir situações, onde não queremos permitir a herança de uma classe, método ou propriedade. Por isso existe a palavra chave final. Com ela, nenhuma outra classe pode herdar da classe que a posssui.

Exemplo

Deixo aqui esse código para deixar mais claro o que significa.

class Animal {
    var espécie: String
    
    init(espécie: String) {
        self.espécie = espécie
    }
}

final class Cachorro: Animal {
    var nome: String
    
    init(nome: String, espécie: String) {
        self.nome = nome
        super.init(espécie: espécie)
    }
}

No exemplo acima, a classe Cachorro, herda da classe Animal. Porém, por ser uma final class nenhuma outra classe pode herdar da classe Cachorro.