Classes e propriedades expect/actual
Vá além das funções: conheça as declarações que podem ser expect/actual
Classes e propriedades expect/actual é uma aula grátis de Kotlin Multiplatform Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Multiplatform Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.
Além das funções
expect/actual não se limita a funções. Você também pode declarar classes inteiras, propriedades e até objetos que diferem por plataforma.
Uma propriedade expect
Precisa de um valor definido por cada plataforma? Declare um expect val no commonMain e deixe cada destino fornecer o valor actual.
expect val platformName: StringCada destino define seu valor
Android e iOS fornecem, cada um, um actual val. A propriedade se comporta como uma constante no código compartilhado, mas é resolvida de acordo com a plataforma.
actual val platformName: String = "iOS"Uma classe expect
Para comportamentos mais completos, declare uma expect class. Ela lista os membros que o código compartilhado pode usar, enquanto cada plataforma preenche os corpos.
expect class Platform() {
val name: String
}A classe actual do Android
A actual class de androidMain implementa todos os membros declarados. Aqui, name retorna uma string específica do Android.
actual class Platform actual constructor() {
actual val name = "Android"
}Faça os membros corresponderem exatamente
Cada classe actual precisa declarar todos os membros prometidos pelo expect, com os mesmos nomes e tipos. A ausência de um deles é um erro de compilação.
Os construtores também precisam de actual
Se a classe expect tiver um construtor, marque o correspondente da plataforma como actual constructor. O compilador verifica se eles correspondem.
Use como qualquer classe
No código compartilhado, basta criar e usar a classe. O actual correto dá suporte ao objeto, e a lógica comum permanece alheia à plataforma.
val name = Platform().nameAdicione extras exclusivos da plataforma
Uma classe actual pode adicionar membros privados além dos definidos pelo expect. Apenas o que o expect declara fica visível para o código compartilhado.
Prefira a ferramenta mais simples
Use uma propriedade expect para um valor, uma função expect para uma ação e uma classe expect apenas quando precisar de estado e comportamento. ✨
Uma observação moderna familiar
O Kotlin recente orienta você a preferir interfaces com funções expect/actual em vez de classes expect, mas as classes ainda funcionam bem atualmente.
Verificação rápida
Considere o que uma classe actual deve ao seu expect.
Recapitulação
Você viu que expect/actual também abrange propriedades e classes. Declare o formato no commonMain e depois implemente cada membro no actual de cada plataforma. 🎉
Aprenda Kotlin com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “Classes e propriedades expect/actual” é grátis?
Sim — o texto completo de “Classes e propriedades expect/actual” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Multiplatform Academy, atualize para CoddyKit PRO. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.
O que vou aprender em “Classes e propriedades expect/actual”?
Vá além das funções: conheça as declarações que podem ser expect/actual Você pratica Kotlin Multiplatform Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Multiplatform Academy?
Nenhuma experiência prévia é necessária. Kotlin Multiplatform Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Classes e propriedades expect/actual”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Multiplatform Academy?
Sim. Cada aula de Kotlin Multiplatform Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Por que expect/actual existe
- Obtenha o nome da plataforma por destino
- Classes e propriedades expect/actual
- Erros comuns e erros do compilador