Flutter -- ohne Dart geht es nicht Klassen Teil 3 Factory

Baum im Wasser
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

Beliebte Posts aus diesem Blog

Material Design in Flutter Teil 2

Dart Basic: Listen Part 1

Listen in Dart (2021): Part 1 List.filled List.empty und List.add