Swift Academy · Leçon

Propriétés calculées avec get/set

Créez des propriétés calculées (en lecture seule ou en lecture-écriture) avec get/set, imposez des invariants dans les setters et utilisez un contrôle d’accès tel que private(set).

Leçon 3 sur 48 étapes

Propriétés calculées avec get/set est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.

Vue d’ensemble

Les propriétés calculées déduisent des valeurs lors de leur accès et peuvent synchroniser l’état lors de leur modification. Utilisez-les pour maintenir facilement les invariants.

Propriété calculée en lecture seule

Une propriété calculée en lecture seule n’a pas d’accesseur set. Gardez les déductions simples et peu coûteuses.

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

Lecture et écriture

Ajoutez des accesseurs de lecture et d’écriture pour créer une propriété calculée lisible et modifiable qui maintient la cohérence des valeurs associées.

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

Validation dans l’accesseur d’écriture

Les accesseurs d’écriture peuvent valider les données d’entrée. Vous pouvez utiliser le nom implicite newValue lorsqu’aucun nom personnalisé n’est fourni.

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

Accès privé en écriture

Utilisez private(set) pour exposer une valeur en lecture tout en limitant les écritures au type lui-même.

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

Remarques et conseils

Remarques :

  • Les propriétés calculées ne stockent pas de données ; elles les calculent à la demande.
  • Elles ne prennent pas en charge willSet/didSet ; placez plutôt la logique dans l’accesseur d’écriture.
  • Gardez les accesseurs de lecture rapides ; les opérations coûteuses doivent être placées dans des méthodes.

Définition d’une propriété calculée

Vérification rapide : qu’est-ce qui définit une propriété calculée ?

Récapitulatif

Récapitulatif : créez des propriétés calculées en lecture seule et en lecture et écriture, validez les données dans l’accesseur d’écriture et utilisez private(set) pour contrôler qui peut modifier les données.

Gratuit pour commencer

Apprends Swift avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
122
Leçons
409

Questions Fréquemment Posées

La leçon « Propriétés calculées avec get/set » est-elle gratuite ?

Oui — le texte complet de « Propriétés calculées avec get/set » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Propriétés calculées avec get/set » ?

Créez des propriétés calculées (en lecture seule ou en lecture-écriture) avec get/set, imposez des invariants dans les setters et utilisez un contrôle d’accès tel que private(set). Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Swift Academy ?

Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Propriétés calculées avec get/set » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?

Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Propriétés et indices
  2. lazy et observateurs de propriétés
  3. Propriétés calculées avec get/set
  4. Indices pour un accès personnalisé
← Retour à Swift Academy