0Pricing
TypeScript Academy · Leçon

Fonctionnalités avancées des classes

Découvrez les fonctionnalités avancées des classes, comme les classes abstraites, les modificateurs d’accès et les membres statiques, pour écrire du code TypeScript propre, modulaire et orienté objet.

Fonctionnalités avancées des classes est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 3. 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 TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 3 leçons au total.

Introduction aux fonctionnalités avancées des classes

Introduction aux fonctionnalités avancées des classes

TypeScript propose plusieurs fonctionnalités avancées des classes qui vous aident à écrire du code orienté objet modulaire, évolutif et facile à maintenir.

Dans cette leçon, vous découvrirez les modificateurs d’accès, les classes abstraites, les membres statiques et bien plus encore.

Fonctionnalités avancées des classes — illustration 1

Présentation des fonctionnalités avancées des classes

Introduction aux fonctionnalités avancées des classes

TypeScript propose plusieurs fonctionnalités avancées des classes qui vous aident à écrire du code orienté objet modulaire, évolutif et facile à maintenir.

Dans cette leçon, vous découvrirez les modificateurs d’accès, les classes abstraites, les membres statiques et bien plus encore.

Fonctionnalités avancées des classes — illustration 2

Modificateurs d’accès

Modificateurs d’accès

TypeScript fournit trois modificateurs d’accès pour contrôler la visibilité des membres d’une classe :

  • public : accessible partout (par défaut).
  • private : accessible uniquement au sein de la classe.
  • protected : accessible au sein de la classe et de ses sous-classes.
class Person {
  public name: string;
  private age: number;
  protected role: string;

  constructor(name: string, age: number, role: string) {
    this.name = name;
    this.age = age;
    this.role = role;
  }
}

class Employee extends Person {
  getRole(): string {
    return this.role; // Accessible because it's protected
  }
}

Classes abstraites

Classes abstraites

Les classes abstraites servent de modèles pour d’autres classes. Elles ne peuvent pas être instanciées directement et peuvent contenir des méthodes abstraites.

abstract class Shape {
  abstract getArea(): number;
}

class Circle extends Shape {
  constructor(public radius: number) {
    super();
  }

  getArea(): number {
    return Math.PI * this.radius ** 2;
  }
}

const circle = new Circle(5);
console.log(circle.getArea()); // 78.54

Membres statiques

Membres statiques

Les membres statiques appartiennent à la classe elle-même plutôt qu’à une instance de la classe. Ils sont accessibles à l’aide du nom de la classe.

class MathUtils {
  static PI = 3.14;

  static calculateCircleArea(radius: number): number {
    return this.PI * radius ** 2;
  }
}

console.log(MathUtils.PI); // 3.14
console.log(MathUtils.calculateCircleArea(5)); // 78.5

Accesseurs et mutateurs

Accesseurs et mutateurs

Les accesseurs et les mutateurs vous permettent de contrôler la manière dont les propriétés sont consultées ou modifiées dans une classe.

class Person {
  private _name: string;

  constructor(name: string) {
    this._name = name;
  }

  get name(): string {
    return this._name;
  }

  set name(newName: string) {
    this._name = newName;
  }
}

const person = new Person('Alice');
console.log(person.name); // Alice
person.name = 'Bob';
console.log(person.name); // Bob

Propriétés en lecture seule

Propriétés en lecture seule

Le modificateur readonly garantit qu’une propriété ne peut être définie que lors de l’initialisation et ne peut plus être modifiée par la suite.

class Vehicle {
  readonly make: string;

  constructor(make: string) {
    this.make = make;
  }
}

const car = new Vehicle('Toyota');
console.log(car.make); // Toyota
// car.make = 'Honda'; // Error: Cannot assign to 'make' because it is a read-only property.

Constructeurs privés et protégés

Constructeurs privés et protégés

Les classes peuvent avoir des constructeurs privés ou protégés afin de contrôler la manière dont elles sont instanciées et les endroits où cela est possible.

class Singleton {
  private static instance: Singleton;

  private constructor() {}

  static getInstance(): Singleton {
    if (!this.instance) {
      this.instance = new Singleton();
    }
    return this.instance;
  }
}

const singleton = Singleton.getInstance();
console.log(singleton);

Exercice pratique

Exercice pratique

Créez une classe dotée d’un constructeur protected, puis étendez-la dans une sous-classe. Ajoutez des méthodes permettant d’accéder aux propriétés protégées dans la sous-classe.

Félicitations !

Félicitations !

Vous avez appris des fonctionnalités avancées des classes, comme les modificateurs d’accès, les classes abstraites, les membres statiques et bien plus encore. Mettez ces concepts en pratique pour écrire du code TypeScript orienté objet propre et efficace !

Fonctionnalités avancées des classes — illustration 11

Questions Fréquemment Posées

La leçon « Fonctionnalités avancées des classes » est-elle gratuite ?

Oui — le texte complet de « Fonctionnalités avancées des classes » 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 TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Fonctionnalités avancées des classes » ?

Découvrez les fonctionnalités avancées des classes, comme les classes abstraites, les modificateurs d’accès et les membres statiques, pour écrire du code TypeScript propre, modulaire et orienté objet. Tu pratiques TypeScript 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 TypeScript Academy ?

Aucune expérience préalable n'est requise. TypeScript 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 2 sur 3.

Combien de temps prend la leçon « Fonctionnalités avancées des classes » ?

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

Oui. Chaque leçon TypeScript 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. Réduction avancée des types
  2. Fonctionnalités avancées des classes
  3. Types conditionnels
← Retour à TypeScript Academy