Redéfinition et méthode Area
Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 41 sur 56.
Défi
Améliorez la classe Circle en surchargeant la méthode describe() et en ajoutant une nouvelle méthode calculateArea().
Votre tâche :
Surchargez la méthode
<strong>describe()</strong>pour qu'elle retourne${super.describe()} (Circle with radius ${this.radius}).Exemple : "A blue shape (Circle with radius 10)"
- Ajoutez une méthode
<strong>calculateArea()</strong>qui :- Calcule l'aire en utilisant la formule :
Math.PI * this.radius * this.radius Retourne l'aire calculée (pas de console.log nécessaire)
*Ceci est une méthode spécifique à Circle (absente de la classe parente Shape)
- Calcule l'aire en utilisant la formule :
Essayez vous-même
import { Shape } from './Shape.js';
import { Circle } from './Circle.js';
// Tests
const basicShape = new Shape('red');
console.log(basicShape.describe()); // "Une forme rouge"
const myCircle = new Circle('blue', 10);
console.log(myCircle.describe()); // Devrait afficher : "Une forme bleue (Cercle avec un rayon de 10)"
console.log(myCircle.calculateArea()); // Devrait afficher : "314.1592653589793"Toutes les leçons de Programmation Orientée Objet
1Objets et le mot-clé this
Révision rapide : Les objetsAjouter des méthodes aux objetsComprendre le mot-clé thisFonctions constructeursLe mot-clé newDéfi récapitulatif7L'héritage et le mot-clé extends
L'héritageLa relation « est un »Le mot-clé extendsLa méthode super()Hériter des propriétés et méthodesDéfi récapitulatif10Polymorphisme
Qu'est-ce que le polymorphisme ?Redéfinition de méthodes héritéesUtiliser superDéfi récapitulatif13Composition vs Héritage
Les relations « has-a » vs « is-a »Les limites de l'héritage profondConstruction d'objets2Organisation du code
Qu'est-ce qu'un module ?Exporter avec exportImporter avec importExports par défaut vs nommés5Encapsulation & Accès
EncapsulationChamps de classe publics et privésMéthodes privéesDéfi récapitulatif8Organisation du code POO
Organiser les classes en modules11Projet : Un moteur de rendu de formes
Configuration : Classe Shape et ExportationHéritage de la classe Circle14Système de gestion de bibliothèque
Conception de la bibliothèqueClasse Book avec composition3Classes et Objets
Qu'est-ce qu'une classe ?Créer des instancesPropriétés et méthodesDéfi récapitulatif9Méthodes et propriétés statiques
Niveau classe vs Niveau instancePropriétés statiquesMéthodes utilitaires statiquesDéfi récapitulatif