Implémenter des interfaces avec des classes
Imposez la structure des classes avec le mot-clé implements
Implémenter des interfaces avec des classes est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 4 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 TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 4 leçons au total.
Bienvenue
Implémentation de base
interface Printable {
print(): void;
}
class Document implements Printable {
print() { console.log('Printing...'); }
}Les membres manquants provoquent des erreurs
interface Serializable { serialize(): string; }
// Error: Class 'Broken' incorrectly implements interface 'Serializable'
// class Broken implements Serializable {}Implémenter plusieurs interfaces
interface Flyable { fly(): void; }
interface Swimmable { swim(): void; }
class Duck implements Flyable, Swimmable {
fly() { console.log('Flying'); }
swim() { console.log('Swimming'); }
}Une interface ne fournit pas d’implémentation
implements avec des membres facultatifs
interface Logger {
log(msg: string): void;
warn?(msg: string): void; // optional
}
class SimpleLogger implements Logger {
log(msg: string) { console.log(msg); }
// warn is not required
}Une interface pour l’injection de dépendances
interface Storage { save(data: string): void; }
class Service {
constructor(private storage: Storage) {}
run() { this.storage.save('data'); }
}
class LocalStorage implements Storage {
save(data: string) { localStorage.setItem('key', data); }
}Héritage ou implémentation
Une classe implémentant une interface et étendant une classe
class Animal { breathe() { return 'breathing'; } }
interface Trainable { train(): void; }
class Dog extends Animal implements Trainable {
train() { console.log('Sit!'); }
}Implémentations d’interfaces génériques
interface Repository<T> {
findById(id: number): T | null;
}
class UserRepo implements Repository<User> {
findById(id: number): User | null {
return null; // stub
}
}Sûreté de typage de implements
Vérification rapide
Récapitulatif
Questions Fréquemment Posées
La leçon « Implémenter des interfaces avec des classes » est-elle gratuite ?
Oui — le texte complet de « Implémenter des interfaces avec 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 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Implémenter des interfaces avec des classes » ?
Imposez la structure des classes avec le mot-clé implements 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 4 sur 4.
Combien de temps prend la leçon « Implémenter des interfaces avec 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
- Classes et constructeurs TypeScript
- Modificateurs public, private et protected
- Propriétés readonly et propriétés de paramètres
- Implémenter des interfaces avec des classes