Spielfiguren-Builder
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 53 von 56.
Aufgabe
Dies ist ein einfaches Spielfiguren-System, in dem Charaktere Waffen ausrüsten und am Kampf teilnehmen können.
Ihre Aufgabe ist es, diese zwei Methoden zur Klasse Character hinzuzufügen:
Methode 1: takeDamage(amount)
- Diese Methode reduziert die Gesundheit des Charakters um den Betrag
- Protokolliert:
${this.name} takes ${amount} damage
Methode 2: equipWeapon(weapon)
- Diese Methode gibt dem Charakter eine Waffe (Komposition: "has-a"-Beziehung)
- Protokolliert:
${this.name} equipped ${weapon.name}
Probier es selbst
import { Character } from './character.js';
import { Weapon } from './weapon.js';
const hero = new Character('Knight');
const sword = new Weapon('Sword', 10);
hero.equipWeapon(sword); // Sollte ausgeben: "Knight equipped Sword"
hero.takeDamage(20); // Sollte ausgeben: "Knight takes 20 damage"
console.log(hero.health); // Sollte zeigen: 80Alle Lektionen in Objektorientierte Programmierung
1Objekte & das this-Schlüsselwort
Kurze Wiederholung: ObjekteMethoden zu Objekten hinzufügenDas this-Schlüsselwort verstehenKonstruktorfunktionenDas new-SchlüsselwortWiederholungs-Challenge7Vererbung & das extends-Schlüsselwort
VererbungDie „ist-ein“-BeziehungDas extends-SchlüsselwortDie super()-MethodeVererben von Eigenschaften & MethodenWiederholungs-Challenge10Polymorphie
Was ist Polymorphie?Geerbte Methoden überschreibenVerwendung von superWiederholungs-Challenge13Komposition vs. Vererbung
Die "hat-ein"- vs. "ist-ein"-BeziehungDie Grenzen tiefer VererbungObjekte zusammenbauen2Code organisieren
Was sind Module?Exportieren mit exportImportieren mit importDefault- vs. benannte Exports5Kapselung & Zugriff
KapselungÖffentliche & private KlassenfelderPrivate MethodenWiederholungs-Herausforderung8OOP-Code strukturieren
Klassen in Modulen organisieren11Projekt: Ein Shape-Renderer
Setup: Shape-Klasse & ExportCircle-Klasse: Vererbung14Bibliotheksverwaltungssystem
Entwurf der BibliothekBuch-Klasse mit Komposition3Klassen & Objekte
Was ist eine Klasse?Instanzen erstellenEigenschaften und MethodenWiederholungs-Challenge6Projekt: Ein einfaches Bankkonto
Klasse BankAccountEinzahlungen und Auszahlungen9Statische Methoden & Eigenschaften
Klassenebene vs. InstanzebeneStatische EigenschaftenStatische HilfsmethodenWiederholungs-Challenge12Getter & Setter
Die Schlüsselwörter get und setBerechnete EigenschaftenValidierung und SeiteneffekteWiederholungs-Challenge15Abschluss-Herausforderungen
Spielfiguren-BuilderE-Commerce ProduktsystemUniversitäts-VerwaltungssystemSmart-Home-Gerätesystem