If you're seeing this message, it means we're having trouble loading external resources on our website.

Wenn du hinter einem Webfilter bist, stelle sicher, dass die Domänen *. kastatic.org und *. kasandbox.org nicht blockiert sind.

Hauptinhalt

Unterrichtsleitfaden: Einführung in JS - Objektorientiertes Design

Dies ist ein Unterrichtsleitfaden für die Lerneinheit über Objektorientiertes Design im Kurs Einführung in JS.

Was gelernt wird

  • Wie man ein Objekt mit dem JavaScript-Prototypensystem definiert, so dass die Lernenden dann mehrere Instanzen dieses Objekts in ihrem Programm erstellen können.
  • Wie man Methoden auf Objekten definiert, so dass alle Instanzen die gleichen Methoden teilen.
  • Wie man ein Objekt definiert, das von einem anderen Objekt erbt, so dass es Elternmethoden wiederverwenden kann, aber auch seine eigenen neuen Methoden.

Die Lernenden werden in der Lage sein, Programmcode zu schreiben wie:

Wo die Lernenden Probleme haben

  • Die meisten Lernenden werden einige Schwierigkeiten haben, sowohl die Konzepte als auch die Syntax der objektorientierten Programmierung in JavaScript zu verstehen. Objektorientiertes Programmieren ist eine Technik, die in vielen Programmiersprachen verwendet wird und in JavaScript besonders knifflig ist.
  • Lernenden fragen sich vielleicht, warum objektorientiertes Programmieren so wichtig ist und ob es die Schwierigkeiten wert ist, es zu lernen. OO ist eine Technik, die immer wichtiger wird, je größer und komplexer die Programme werden, und sie ist besonders nützlich für die Arten von Programmen, die bei Khan Academy beliebt sind - wie Spiele und natürliche Simulationen. Diese Programme beinhalten alle konzeptionell Objekte - wie Hindernisse und Avatare in Spielen oder Partikel und Emitter in Simulationen. Es ist möglich, die Programme nur mit Funktionen zu schreiben, aber es ist oft einfacher, sie mit objektorientiertem Code zu schreiben, weil man dann ähnliche Funktionalität in ähnlichen Objekten leicht wiederverwenden kann.
  • Lernende sind oft verwirrt von dem Schlüsselwort this. Das ist das Schlüsselwort, mit dem sich ein Objekt auf sich selbst bezieht - in anderen Sprachen heißt es eigentlich self oder me. Es ist notwendig, dies zu benutzen, um einem Objekt zu sagen, dass es eine Variable finden soll, die eine Eigenschaft auf sich selbst ist, anstatt einer lokalen oder globalen Variable.
  • Lernende kommen zwischen der Objektdefinition und Objektinstanzen durcheinander. Eine Sache, die hilft, ist, wenn sie auf die Großschreibung achten, da wir diese zur Unterscheidung verwenden. Wir benutzen Großbuchstaben, um einen Objekttyp zu definieren, wie Winston, und Kleinbuchstaben, wenn wir Instanzen erstellen, wie winstonTeen und winstonAdult. Erinnere sie daran, dass der erste Schritt darin besteht, den Objekttyp zu definieren (Winston) und erst dann können sie neue Instanzen basierend auf diesem Typ erstellen (winstonTeen, winstonAdult).
  • Schüler könnten versehentlich Objektmethoden vor ihrem Objektkonstruktor definieren. Der Objektkonstruktor muss zuerst kommen und dann die Methoden.
  • Lernende haben vielleicht Schwierigkeiten zu verstehen, wie die Vererbung von Objekten in JavaScript funktioniert, selbst wenn sie in der Lage sind, die Codezeilen zu tippen, mit denen es funktioniert. Es hilft, wirklich jede Codezeile durchzusprechen und die alternativen Erklärungen der Antworten unter dem Vererbungs-Durchgang zu lesen.

Zusätzliches Material: Diskussionsfragen

Dies sind Fragen, die du Lernende individuell fragen kannst, nachdem sie die Lerneinheit bearbeitet haben, oder leite eine Diskussion, wenn alle am gleichen Punkt angelangt sind.
  • Besprich, wie du das Konzept der Tiere mit OO-Programmierung programmieren würdest. Welche Eigenschaften und Methoden würdest du für ein Animal-Objekt definieren? Welche Objekte würden von Animal erben und welche Eigenschaften und Methoden würden sie haben? Du kannst die gleiche Diskussion auch über andere Objekte führen, wie Autos, Bäume, Bücher, Formen. Es gibt keine richtige Antwort, da die tatsächliche Art und Weise, wie du es programmieren würdest, von der App/dem Spiel abhängt, aber es ist eine nützliche Übung, um über Objektattribute, Verhalten und Vererbung nachzudenken.

Willst du an der Diskussion teilnehmen?

Noch keine Beiträge.
Verstehst du Englisch? Klick hier, um weitere Diskussionen auf der englischen Khan Academy Seite zu sehen.