Schlagwort-Archive: oop

JavaScript: OOP in JS mit Namespace und simple inheritance

So, und in diesem Snippet geht es noch einen Schritt weiter. Der Unterschied zum letzten JS Post ist die Verwendung der Simple inheritance von John Resig.

Diese vereinfacht die Schreibweise und macht den Code übersichtlicher und strukturierter. Auch die Verwendung von prototype entfällt komplett.

In der Quintus HTML5 game engine wurde dieses Konzept noch ein klein wenig weiter getrieben, diesem werde ich aber hoffentlich bald auf die Schliche kommen, da ich dieses im Moment noch nicht ganz verstehe ;-)

JavaScript: OOP in JS mit Namespace

Im letzten JavaScript Post habe ich die Objektorientierung gestreift. Doch wie werden Objekte in einem Namespace bzw. einem über Objekt zusammengefasst?

Folgender kleiner Snippet soll dieses veranschaulichen. In diesem werden zwei Klassen zusammen gefasst. Auch hier wird wieder gezeigt wie man den Konstruktor oder Methoden der Elternklasse aufruft.

Javascript: OOP mit Javascript

Lange war Javascript für mich eine Skriptsprache die nur nebenbei fast unbemerkt im Browser lief. Bei einem kleinen Canvas Projekt (cangaja), das man ja mit Javascript programmieren muss, habe ich mich erst tiefer mit Javascript beschäftigt.

Und ich musste feststellen das Javascript unterschätzt wird (JavaScript: The World’s Most Misunderstood Programming Language). Diese Programmiersprache IST objektorientiert, vielleicht nicht komplett im Sinne von Java oder anderen streng typisierten OOP Sprachen.

Javascript ist in manchen Dingen genau das Gegenteil, aber die Grundzüge von OOP sind enthalten und ich habe für mich entschieden dass ich gut damit leben kann ;-)

Im Internet gibt es sehr gute Quellen dazu (Superclassy Inheritance In JavascriptSimple JavaScript Inheritance, usw.), wenn man ein bisschen sucht wird man schon fündig.

Aber die Entwicklung bleibt auch hier nicht stehen, wer kurz einen Blick in Kapitel 9.8 Objektorientierung in ECMAScript5 von „JavaScript Das umfassende Referenzwerk“ geworfen hat, weiß was die Uhr geschlagen hat ;-)

So nun genug geschrieben, jetzt müssen Snippets her, für mein schlechtes Gedächtnis. Und am besten noch nicht im ECMAScript5 style, der ist mir nämlich noch ein wenig zu hoch.

Folgend sind nun drei kleine Beispiele die fast ähnlich sind, aber sehr gut veranschaulichen wie OOP mit Vererbung in JS realisiert werden kann.

Im zweiten Beispiel ist die Eigenschaft parent die auf den prototype der Elternklasse zeigt.

Wieder nur eine kleine Änderung, die Objekterzeugung über Object.create().