Swift Academy · Aula

Propriedades computadas com get/set

Crie propriedades computadas (somente para leitura e de leitura e escrita) usando get/set, imponha invariantes nos setters e use controle de acesso como private(set).

Aula 3 de 48 etapas

Propriedades computadas com get/set é uma aula grátis de Swift 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 Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Visão geral

As propriedades calculadas derivam valores quando acessadas e podem sincronizar o estado ao definir um valor. Use-as para manter os invariantes organizados.

Calculada somente para leitura

Uma propriedade calculada somente para leitura omite set. Mantenha as derivações simples e rápidas.

struct Rectangle {
    var width: Double
    var height: Double
    var area: Double {             // read-only computed
        width * height
    }
}
let r = Rectangle(width: 3, height: 4)
print("area =", r.area)  // 12

Leitura e escrita com obtenção/definição

Adicione obter/definir para criar uma propriedade calculada de leitura e escrita que mantenha valores relacionados sincronizados.

struct Circle {
    var radius: Double            // stored
    var diameter: Double {        // computed read–write
        get { radius * 2 }
        set { radius = newValue / 2 }
    }
}
var c = Circle(radius: 5)
print(c.diameter)   // 10
c.diameter = 14
print(c.radius)     // 7

Validação na definição

As definições podem validar a entrada. Você pode usar o nome implícito newValue quando não houver um nome personalizado.

struct Percentage {
    private var _raw: Int = 0          // backing store
    var value: Int {
        get { _raw }
        set {                          // uses implicit newValue
            _raw = min(100, max(0, newValue))
        }
    }
}
var p = Percentage()
p.value = 120
print(p.value)  // 100
p.value = -5
print(p.value)  // 0

Escrita privada

Use escrita privada para expor um valor para leitura e restringir as escritas ao próprio tipo.

struct ScoreBoard {
    private(set) var highScore = 0   // public read, internal write
    mutating func update(_ v: Int) {
        if v > highScore { highScore = v }
    }
}
var s = ScoreBoard()
s.update(30)
print(s.highScore)
// s.highScore = 50  // error outside the type

Observações e dicas

Observações:

  • As propriedades calculadas não armazenam dados; elas calculam sob demanda.
  • Elas não aceitam willSet/didSet; coloque a lógica em definir.
  • Mantenha os acessadores rápidos; operações pesadas pertencem aos métodos.

Definição de propriedade calculada

Verificação rápida: o que define uma propriedade calculada?

Recapitulação

Recapitulação: crie propriedades calculadas somente para leitura e de leitura e escrita, valide em definir e use escrita privada para controlar quem pode modificar os dados.

Grátis para começar

Aprenda Swift 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
122
Aulas
409

Perguntas Frequentes

A aula “Propriedades computadas com get/set” é grátis?

Sim — o texto completo de “Propriedades computadas com get/set” é 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 Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Propriedades computadas com get/set”?

Crie propriedades computadas (somente para leitura e de leitura e escrita) usando get/set, imponha invariantes nos setters e use controle de acesso como private(set). Você pratica Swift 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 Swift Academy?

Nenhuma experiência prévia é necessária. Swift 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 “Propriedades computadas com get/set”?

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 Swift Academy?

Sim. Cada aula de Swift 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. Propriedades e subscripts
  2. lazy e observadores de propriedades
  3. Propriedades computadas com get/set
  4. Subscripts para indexação personalizada
← Voltar para Swift Academy