Instanzen erstellen
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 12 von 56.
Nachdem Sie eine Klasse definiert haben, können Sie mithilfe des new-Schlüsselworts Objekte auf Basis dieser Klasse erstellen. Diese Objekte werden Instanzen genannt.
Nehmen wir an, wir haben eine einfache Person-Klasse:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
return `Hello, my name is ${this.name}`;
}
}Erstellen Sie eine Instanz der Person-Klasse:
const john = new Person("John", 30);Nach Ausführung des obigen Codes ist john eine Instanz der Person-Klasse mit:
- der
name-Eigenschaft gesetzt auf "John" - der
age-Eigenschaft gesetzt auf 30
Sie können auf Eigenschaften und Methoden der Instanz zugreifen:
console.log(john.name); // Ausgabe: John
console.log(john.greet()); // Ausgabe: Hello, my name is JohnSie können mehrere Instanzen aus derselben Klasse erstellen:
const sarah = new Person("Sarah", 25);
console.log(sarah.name); // Ausgabe: SarahAufgabe
Dir wird eine Klasse Student zur Verfügung gestellt. Deine Aufgabe ist es, zwei Instanzen der Klasse Student in der Datei driver.js zu erstellen:
- Erstelle
student1mit dem Namen "Sarah" und der Note 85 - Erstelle
student2mit dem Namen "Mike" und der Note 92
Spickzettel
Um eine Instanz einer Klasse zu erstellen, verwenden Sie das Schlüsselwort new:
const john = new Person("John", 30);Greifen Sie auf Eigenschaften und Methoden einer Instanz mithilfe der Punktnotation zu:
console.log(john.name); // Ausgabe: John
console.log(john.greet()); // Ausgabe: Hello, my name is JohnSie können mehrere Instanzen aus derselben Klasse erstellen:
const sarah = new Person("Sarah", 25);
console.log(sarah.name); // Ausgabe: SarahProbier es selbst
import { Student } from './student.js';
// TODO: Erstellen Sie eine Instanz der Klasse Student namens student1 mit dem Namen "Sarah" und der Note 85
// TODO: Erstellen Sie eine Instanz der Klasse Student namens student2 mit dem Namen "Mike" und der Note 92
// Testcode - nicht ändern
console.log(student1.name); // Sollte "Sarah" ausgeben
console.log(student2.grade); // Sollte 92 ausgebenDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle 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