Inhaltsverzeichnis
Eines der wichtigsten Dinge, die uns bei der Definition unserer Anwendung helfen, ist die Verwendung von Klassen, da wir mit ihnen Objekte definieren können, die dem realen Leben nachempfunden sind und deren Übergang in die digitale Welt viel einfacher wird.In KaffeeScript Eine Klasse zu erstellen und zu instanziieren ist sehr einfach, tatsächlich ist ihre Syntax so minimalistisch, dass wir uns leicht daran erinnern können, anstatt eine Definition von Klassen direkt in zu erstellen JavaScript Es ist etwas umständlicher und das kann länger dauern als erwartet.
AnforderungenUm dieses Tutorial abzuschließen, benötigen wir eine funktionsfähige Installation von KaffeeScript, wir brauchen auch Berechtigungen, um Dateien zu schreiben und auszuführen KaffeeScript auf dem Computer, auf dem wir das Tutorial durchführen. Wir brauchen einen Texteditor, um den Code schreiben zu können, den wir ausführen werden, damit wir etwas Beständiges und nicht alles in der Konsole haben.
Eine Klasse ist nichts anderes als ein Name und einige Eigenschaften, die ihr Verhalten definieren, basierend auf diesem Konzept können wir eine Klasse definieren in KaffeeScript wie folgt:
Klasse StudentDas ist alles was wir tun müssen, auf einfache Weise haben wir unsere erste Klasse bereits eingebaut KaffeeScriptWas passiert nun, wenn wir eine Eigenschaft einschließen möchten, um sie verwenden zu können, weil wir einfach eine Instanz erstellen und diese Eigenschaft hinzufügen, sehen wir uns Folgendes an:
student = neuer Student () student.name = "Carolina"Sehen wir uns nun an, wie im folgenden Bild als KaffeeScript transformiere all unseren Code in JavaScript pure beim Kompilieren, erinnern wir uns an den Befehl dafür, der wäre Kaffee -c Dateiname.Kaffee:
Eines der Dinge, die am häufigsten verwendet werden Objekt orientierte Programmierung ist das Hinzufügen von Methoden zu Klassen, da diese uns zusätzlich zu den Eigenschaften eine Vorstellung davon geben, was unser Objekt kann oder nicht kann, zum Beispiel wenn wir mit dem fortfahren Schülerklasse Wir können eine Methode dafür erstellen, in der sein Objekt eine Nachricht ausdrückt, mal sehen, wie man das erreicht:
Klasse Schülersprech: -> console.log "Hello World!"Wenn wir dann ein Objekt derselben Klasse erstellen, könnten wir dieselbe Methode bereits verwenden. Zum Beispiel:
student = neuer Studentstudent.talk ()Damit stellen wir sicher, dass unsere Methode viele Male verwendet werden kann, solange wir mehrere Instanzen machen, was unserem Code eine der Eigenschaften der Objektorientierung verleiht, nämlich Wiederverwendung. Jetzt werden wir unseren Code so umdefinieren, dass er Argumente akzeptiert. Damit können wir viel mehr als einen einfachen Druck über die Konsole tun, mal sehen:
class Student talk: (name) -> console.log "Hallo # {name}!" student = new Studentstudent.talk ("Carolina")Mal sehen, wie sich das alles in Code übersetzt JavaScript wenn wir kompilieren:
Um eine Eigenschaft innerhalb von . zu manipulieren KaffeeScript wir müssen nur die benutzen @ Operator gefolgt vom Namen der zu verwendenden Eigenschaft, der wie folgt codiert werden kann:
class Student speak: () -> console.log "Hallo # {@ name}!" student = new Student () student.name = "Carolina" student. speak ()Sehen wir uns an, wie das aussieht, wenn es direkt in der Konsole ausgeführt wird:
Es gibt Gelegenheiten, in denen die Definition unserer Klasse dazu führt, dass wir Methoden erstellen, die in anderen aufgerufen werden müssen, um eine weniger repetitive und funktionale Programmierung zu erreichen KaffeeScript.
class Student speak: () -> console.log "Hallo mein Name ist: # {@ name}!" @knowAge () knowAge: () -> console.log "Mein Alter ist: # {@ age}" student = new Student () student.name = "Vanessa" student.age = „23“ student.talk ()Sehen wir uns an, wie wir in der Konsole das Ergebnis der Ausführung des vorherigen Codes sehen können:
In Fällen, in denen wir mit vielen Objekten und vielen Eigenschaften arbeiten müssen, ist es am besten, die Kraft von . nutzen zu können BauherrenMit ihnen können wir unserem Objekt direkt Leben einhauchen, ohne die verschiedenen Eigenschaften "manuell" definieren zu müssen. Verwenden Sie zum Definieren eines Konstruktors eine Struktur ähnlich der folgenden:
class Student-Konstruktor: (Name, Alter) -> @name = Name @age = Alter speak: () -> console.log "Hallo mein Name ist: # {@ name}!" @saberEdad () saberEdad: () -> console.log "Mein Alter ist: # {@ alter}"Wenn wir uns die Definition der Klasse ansehen, ist der Konstruktor nichts anderes als eine Methode, das Interessante daran ist, dass wenn er aufgerufen wird Baumeister bereits KaffeeScript er weiß, dass es sich um eine spezielle Methode für unsere Klasse handelt, und wird sie auch so behandeln. Wenn wir die Instanzen unserer Klasse erstellen, müssen wir sie daher nicht explizit aufrufen. Sehen wir uns ein Beispiel an, wie wir jetzt unsere Objekte definieren können:
student = neuer Student ("Carolina", "26") student.Speaking ()Wir sehen, dass wir die Eigenschaft nicht definieren mussten Name noch das Eigentum Alter, übergeben wir die Werte einfach in der Reihenfolge, in der wir sie in unserer Klasse definieren, an den Konstruktor und er erledigt den Rest für uns. Natürlich ist dieses Beispiel sehr einfach gehalten, aber stellen wir uns vor, wir müssen Hunderte von Objekten mit Werten instanziieren, die aus einer Persistenzquelle wie einer Datenbank stammen.
Sehen wir uns im folgenden Bild an, wie unser neuer Code aussieht, nachdem er kompiliert und übersetzt wurde JavaScript rein:
Einer der Vorteile der objektorientierten Programmierung besteht darin, dass wir Nachlass von Klassen, das bedeutet, neue Klassen erstellen und die Funktionalität von Klassen übernehmen zu können Eltern, damit reduzieren wir die Anzahl der Elemente, die wir von Grund auf neu erstellen müssen, da wir beim Vererben alle Methoden und Eigenschaften der Elternklasse übernehmen, in der Kindklasse oder der neuen Klasse müssen wir nur die Methoden und Eigenschaften definieren, die sind exklusiv dafür.
Vielleicht ist dieses Konzept für Programmieranfänger etwas verwirrend oder komplex, aber wenn wir uns das folgende Beispiel ansehen, werden wir sicherlich ein wenig klarer, was wir erreichen können.
class Person zu kennen Alter: () -> console.log "Mein Alter ist: # {@ alter}" class Student erweitert Person zu sprechen: () -> console.log "Hallo # {@ name}!" student = new Student () student.age = "30" student.name = "Jon" student.knowAge ()Analysieren wir sehen, wie wir eine Klasse haben Person und dieser hat eine methode WissenAlter () mit dem wir per Konsole das Alter der Instanz ausgeben, wenn wir die Klasse erstellen Student wir sagen ihm, dass er erbt von Person also implizit hat unsere neue Klasse bereits die Methode WissenAlter () auch wenn es nicht in der Klasse definiert ist.
Sehen wir uns im folgenden Bild an, wie unser neuer Code aussieht, wenn er kompiliert und übersetzt wurde JavaScript rein:
Damit haben wir dieses Tutorial beendet, da wir die Welt der Klassen in KaffeeScript Es ist nicht so komplex, wie es auf den ersten Blick schien, es liegt alles in der Kenntnis der Grundlagen und Philosophie der objektorientierten Programmierung. Was wir versichern können ist, dass die Verwendung von KaffeeScript als Sprache macht die Komplexität der Verwendung von Klassen in JavaScript sinkt erheblich, da seine Syntax viel näher an Sprachen wie Python oder Rubin sie machen es viel eleganter und weniger verwirrend beim Lesen des entwickelten Codes.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben