Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Swift lernen

Methoden und Variablen auf Ebene der Klasse

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Auch ohne von einer Klasse eine Instanz bilden zu müssen, kann man bereits auf Variablen und Methoden zugreifen.
05:33

Transkript

In diesem Video wollen wir uns mit Klassenvariablen und Funktionen beschäftigen, denn es ist natürlich auch in Swift möglich, sowohl Variablen als auch Funktionen zu schaffen, die schon auf der Klassenebene zur Verfügung stehen, und nicht nur auf einer Instanzebene. Dazu erzeugen wir uns einen neuen Playground, Klassen, Variablen und Funktionen, und schauen uns dann das ganze Thema in Ruhe an. Also, Klassen, Variablen und Funktionen. Wenn wir hergehen, und holen uns noch einmal eine einfache Klasse, zum Beispiel hier von unserer Strecke, und diese Strecke hat eine Variable km vom Typ Double, und Computed Properties, also berechnete Attribute, um diesen Wert in Meilen oder Yards darstellen zu können, wobei wir hier den Luxus haben, dass wir auch die Meilen setzen können, und zurückrechnen auf die Kilometer, dann fällt uns hier natürlich etwas auf, denn hier wird ja mit Konstanten gearbeitet, die wir jetzt in diesem Beispiel einmal innerhalb der Klasse Strecke als Class Variable zur Verfügung stellen wollen. Es ist im Moment noch nicht so, dass man sagen kann, es gäbe eine Class Variable, und das wäre eben kmMiles, und das wäre vom Typ Double, und das hätte den Wert 0,62137, das gibt noch einen Syntax-Error, denn diese Art von Class Variablen werden vielleicht in späteren Versionen von Swift einmal unterstützt werden. Das was aber jetzt schon geht, ist - dass wir sagen, wir machen uns hier so eine Computed Property, und wir überschreiben halt nur den Getter, und haben dann auf der Klasse Strecke diese Variable als Computed Property zur Verfügung das heißt, außerhalb dürfen wir jederzeit sagen, liebe Strecke, gib mir doch mal den Wert, den Faktor hier, km in Meilen, die Umrechnung, und wir sehen schon, wir kommen an diesen Wert heran. Nun, wenn wir den dann hier definiert haben in der Strecke, dann dürfen wir ihn auch hier verwenden, allerdings kommen wir jetzt so nicht an unser Ergebnis heran, ich komme auch nicht wie in Objective-C mit einem self hier großartig weiter, ich muss tatsächlich dann auch den Klassennamen davor schreiben, weil ich will ja von der Klasse Strecke diese Class Variable kmMiles haben, weil ich will ja von der Klasse Strecke diese Class Variable kmMiles haben, um dann hier diesen Wert von der Konstanten zu übernehmen, damit das Ganze hier funktioniert. Ja, und genauso, wie wir Class Variablen deklarieren können, können wir also auch Class Funktionen jederzeit hier zur Verfügung stellen, die Syntax sieht dann so aus: dass wir schreiben, es gäbe hier eine class func die heißt eben Beschreibung, sie hat keine Argumente, und sie liefert nichts, also können wir das Ganze so darstellen, und dann haben wir hier println("Diese Klasse stellt basierend ... auf der Einheit km ... ... verschiedene Streckenmasse zur Verfügung"), oder so etwas in der Art, und dann können wir jederzeit später, außerhalb unseres Programms, auch fragen, Strecke, Beschreibung, was macht denn eben diese Klasse? Das heißt, ich kann hier auf eine Funktion zugreifen, oder auf eine Konstante, wenn wir so wollen, auf eine berechnete Computed Class Property, ohne dass ich eine Instanz der Klasse Strecke haben muss, das sind eben Class Properties und Class Functions, anders, als wenn ich sage, ich habe eine Variable, meineStrecke = Strecke, dann habe ich ja eine Instanz, und darf dann meiner Strecke irgendwelche Kilometer setzen, beziehungsweise hier gleich den richtigen Konstruktor aufrufen, den Initialisierer, den wir ja auch dafür vorgesehen haben. und darf dann meine Strecke miles meinetwegen auch ausgeben. Ja, das ist also die Syntax, ob dann die Class Variablen in der anderen Schreibweise irgendwann in Swift mal zur Verfügung stehen, werden wir sehen, wir kommen aber mit diesem Konstrukt da schon mal super drumherum, ob das jetzt unbedingt der beste Weg ist, um hier diese Konstanten zu definieren, oder ob man das nicht anders hätte machen können, das lasse ich mal dahingestellt sein, Thema ist, Class Variables über Computed Properties funktioniert, und Class Functions funktioniert natürlich aller bestens in Swift auch schon jetzt.

Swift lernen

Erkunden Sie die wichtigsten Sprachmerkmale von Swift und ihre modernen Eigenschaften wie Generics, Extensions, Tupels und Optionals.

4 Std. 2 min (30 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

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!