Kotlin Multiplatform Academy · Aula

Classes e propriedades expect/actual

Vá além das funções: conheça as declarações que podem ser expect/actual

Aula 3 de 413 etapas

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: String

Cada 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().name

Adicione 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. 🎉

Grátis para começar

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

  1. Por que expect/actual existe
  2. Obtenha o nome da plataforma por destino
  3. Classes e propriedades expect/actual
  4. Erros comuns e erros do compilador
← Voltar para Kotlin Multiplatform Academy