OOP mit JavaScript Grundkurs

Abstrakte Techniken

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Zur vollständigen OOP zählen abstrakte Klassen und Methoden bzw. Schnittstellen. Das ist nicht wirklich in ECMAScript 6 vorgesehen, aber auf Basis von Klassen kann man das simulieren. In diesem Video sehen Sie, wie so etwas aussehen könnte.
03:25

Transkript

Um objektorientierte Programmierung vollständig umsetzen zu können, braucht man abstrakte Techniken. Das heißt, abstrakte Klassen, Methoden oder gar Schnittstellen. Eine abstrakte Methode ist eine Methode, die noch nicht vollständig implementiert wird, die aber in einer Subklasse irgendwann überschrieben wird. Eine abstrakte Klasse ist in dem Sinne eine Klasse, die unvollständigen Code enthalten kann, etwa eben abstrakte Methodendeklaration. Was man auf jeden Fall braucht, ist eine Möglichkeit, dass abstrakte Klassen nicht instanziiert werden können, weil sie ja möglicherweise unfertigen Code beinhalten. So etwas ist direkt in JavaScript, auch in den neuen Versionen, nicht vorgesehen, aber man kann auf Basis einer echten Klassendeklaration abstrakte Techniken simulieren. Hier habe ich so etwas vorbereitet. Sie sehen, dass es hier eine Klasse gibt mit einem Konstruktor. Wenn der Konstruktor aufgerufen wird, das heißt, wir machen ein "new Abstract", so, wie die Klasse hier heißt, dann wird überprüft, ob der Konstruktor aufgerufen wird, und wenn ja, wird eine "Exception" geworfen. Damit verhindert man eine Instanziierung und das ist quasi wie eine abstrakte Klasse zu sehen. Man kann diese Klasse nur als Superklasse nehmen und dann in der Subklasse diese Superklasse überschreiben, genauer genommen, überschreibt man den Konstruktor. Um nun zu testen, ob eine Klasse gerade instanziiert wird, gibt es zwei potentielle Syntaxvarianten, die derzeit diskutiert werden. Man kann mit "if (this === Abstract)" versuchen, das zu testen. Das funktioniert wohl in einigen Engines, in vielen aber nicht. Zuverlässiger ist, "if(new.target===Abstract)" zu testen. Das geht schon in diversen modernen Browsern. Noch nicht in allen Engines, aber in einigen modernen. In diesem Fall hier, wo ich die Subklasse instanziiere, da funktioniert das einwandfrei. Das werden Sie sehen, das führen wir jetzt einmal aus. Sie sehen, dass das einwandfrei funktioniert hat. Nun nehme ich diesen Kommentar hier einmal heraus, instantiiere diese als abstrakte Klasse konzipierte Klasse und dann sollte eine "Exception" geworfen werden mit einer Meldung, die ich vorgeben kann. Und das sehen Sie hier, ich habe Firefox mit Firebug genommen, um diese "Exception" und deren Meldung zu sehen. So ganz perfekt ist die Umsetzung der abstrakten Technologien nicht unbedingt in JavaScript, aber es ist bereits ein möglicher Schritt zu einer vollständigen objektorientierten Programmierung in JavaScript, die dann alle sonst üblichen Techniken aus anderen Sprachen bereitstellt.

OOP mit JavaScript Grundkurs

Sehen Sie, wie Sie mit JavaScript objektorientiert programmieren können.

3 Std. 8 min (35 Videos)
Derzeit sind keine Feedbacks vorhanden...
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:09.03.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!