Junior
Fale sobre herança em Kotlin.
sobes.tech IA
Resposta da IA
A herança em Kotlin é um mecanismo que permite criar novas classes com base em classes existentes. A nova classe (filha ou derivada) herda as propriedades (variáveis) e métodos (funções) da classe pai (base). Isto promove a reutilização de código e a criação de hierarquias de classes.
Características principais:
- Por padrão, não é aberta: Em Kotlin, classes e métodos são
finalpor padrão, o que significa que não podem ser herdados ou sobrescritos. Para permitir herança, devem ser explicitamente marcados com a palavra-chaveopen. - Construtores: A classe filha deve chamar o construtor de uma das classes base (se houver várias, no caso de interfaces). A chamada ocorre ao declarar a classe filha usando
(...). - Sobrescrever métodos e propriedades: Para sobrescrever um método ou propriedade da classe base na classe filha, eles devem ser marcados com
openna classe base eoverridena classe filha. super: A palavra-chavesuperé usada para aceder aos membros da classe base a partir da classe filha.- Herança simples de implementação: Kotlin suporta herança simples de implementação (de uma única classe), mas herança múltipla de interfaces.
Exemplo de classe base:
// Classe base
open class Animal(val name: String) {
open fun makeSound() {
println("$name faz um som")
}
}
Exemplo de classe filha:
// Classe filha
class Dog(name: String) : Animal(name) {
override fun makeSound() {
println("$name late")
}
}
Uso:
// Uso de objetos
fun main() {
val animal = Animal("Animal genérico")
animal.makeSound() // Saída: Animal genérico faz um som
val dog = Dog("Buddy")
dog.makeSound() // Saída: Buddy late
}