|
Baum im Wasser |
Wer Flutter effektiv nutzen möchte, sollte sich mit objektorientierter Programmierung auskennen und damit mit dem Konzept von Klassen. Im letzten Post zum Thema Klassen haben wir den Konstruktor einer Klasse betrachtet. In diesem Post geht es um eine Variante davon, den
Factory Konstruktor
Eine Klasse, also ein Bauplan für ein Objekt, möchte man so flexibel wir möglich einsetzen können.
Aber wieso überhaupt ? Flexibler Einsatz von Code bzw Programmteilen bedeutet in der Regel, auch eine geringere Programmgröße. Die Größe einer Software hat immer einen Zusammenhang mit dem Speicherverbrauch, ob das nun einen PC betrifft oder ein Smartphone. Starten wir mit einem Beispiel:
Eine sehr einfache Klasse, mit einem Textfeld und einem Konstruktor, der nichts macht. Wenn wir dieses Beispiel nun ausbauen, könnten wir so vergehen, das wir entweder pro Superheld, denn wir verwenden möchten, eine neue Klasse erstellen oder diese einte Klasse so ausbauen, das mit Ihr verschiedene Superhelden erzeugbar sind.
Innerhalb der Klasse benötigen wir dafür:
factory Klassenname() {.................}
Das Schlüsselwort factory, gefolgt vom Klassennnamen / Konstrutkornamen und dem Funktionskörper. Innerhalb dieses Funktionskörpers wird dann entschieden, welches Objekt genau wir bekommen, wenn wir anhand der Klasse im Code ein neues Objekt erzeugen. Beispiel:
Dieser Code erzeugt eine SuperHeld Objekt. Bei der Erzeugung, wird im
factory Teil des Codes entschieden, was für ein Objekt wir genau erzeugen. Bei
SuperHeld.superman() handelt es sich um einen
named, einen benannten
Konstruktor. Innerhalb von diesem werden die Klassenvariablen gesetzt.
Innerhalb von factory können wir auch andere Mechanismen als
if--
else benutzen,
switch zum Beispiel.
Kommentare
Kommentar veröffentlichen