Testen Sie Ihre Fähigkeiten: Objektorientiertes JavaScript

Das Ziel dieses Fähigkeitstests ist zu bewerten, ob Sie unseren Artikel Klassen in JavaScript verstanden haben.

Hinweis: Sie können Lösungen in den interaktiven Editoren auf dieser Seite oder in einem Online-Editor wie CodePen, JSFiddle oder Glitch ausprobieren. Wenn es einen Fehler in Ihrem Code gibt, wird dieser im Ergebnispanel auf dieser Seite oder in der JavaScript-Konsole protokolliert.

Wenn Sie nicht weiterkommen, können Sie uns in einem unserer Kommunikationskanäle erreichen.

OOJS 1

In dieser Aufgabe stellen wir Ihnen den Anfang einer Definition für eine Shape-Klasse zur Verfügung. Sie hat drei Eigenschaften: name, sides und sideLength. Diese Klasse modelliert nur Formen, bei denen alle Seiten die gleiche Länge haben, wie ein Quadrat oder ein gleichseitiges Dreieck.

Wir möchten, dass Sie:

  • Einen Konstruktor zu dieser Klasse hinzufügen. Der Konstruktor nimmt Argumente für die Eigenschaften name, sides und sideLength entgegen und initialisiert diese.
  • Der Klasse eine neue Methode calcPerimeter() hinzufügen, die den Umfang (die Länge der äußeren Kante der Form) berechnet und das Ergebnis in die Konsole protokolliert.
  • Eine neue Instanz der Shape-Klasse namens square erstellen. Geben Sie ihr einen name von square, 4 sides und eine sideLength von 5.
  • Ihre calcPerimeter()-Methode auf die Instanz aufrufen, um zu sehen, ob sie das Berechnungsergebnis wie erwartet in die Konsole des Browsers protokolliert.
  • Eine neue Instanz von Shape namens triangle erstellen, mit einem name von triangle, 3 sides und einer sideLength von 3.
  • triangle.calcPerimeter() aufrufen, um zu überprüfen, ob es funktioniert.

Versuchen Sie, den Live-Code unten zu aktualisieren, um das fertige Beispiel zu reproduzieren:

Laden Sie den Ausgangspunkt für diese Aufgabe herunter, um in Ihrem eigenen Editor oder in einem Online-Editor zu arbeiten.

OOJS 2

Als nächstes möchten wir, dass Sie eine Square-Klasse erstellen, die von Shape erbt und eine calcArea()-Methode hinzufügt, die den Flächeninhalt des Quadrats berechnet. Richten Sie auch den Konstruktor so ein, dass die name-Eigenschaft von Square-Objektinstanzen automatisch auf square gesetzt wird und die sides-Eigenschaft automatisch auf 4 gesetzt wird. Beim Aufrufen des Konstruktors sollten Sie daher nur die sideLength-Eigenschaft bereitstellen müssen.

Erstellen Sie eine Instanz der Square-Klasse namens square mit geeigneten Eigenschaftswerten und rufen Sie ihre calcPerimeter()- und calcArea()-Methoden auf, um zu zeigen, dass es funktioniert.

Versuchen Sie, den Live-Code unten zu aktualisieren, um das fertige Beispiel zu reproduzieren:

Laden Sie den Ausgangspunkt für diese Aufgabe herunter, um in Ihrem eigenen Editor oder in einem Online-Editor zu arbeiten.