Dart Basic: Listen Part 2 add

Programmiersprache Dart
Im ersten Teil sind wir in das Thema Listen in der Programmiersprache Dart eingestiegen, jetzt wollen wir es vertiefen.

Um den Umgang mit Listen zu lernen, bietet es sich an zuerst ein Projekt zu erstellen, das dies einfach ermöglicht.
Dazu habe ich neben dem main.dart File ein zweites File erstellt.

In meine_funktionen.dart erstelle Funktionen, um die verschiedenen Werkzeuge die Dart für die Bearbeitung von Listen zur Verfügung stellt, zu testen.

Der Code selbst ist sehr einfach. Als erstes erstellen wir eine abstract class User. Wir erinnern uns, das wir aus einer abstrakten Klasse selbst, keine Objekte erzeugen können. Wer die zwei Post zum Thema abstract class noch einmal nachlesen möchte, findet hier den ersten Artikel und hier den zweiten.
Folgerichtig erweitern wir anschließend diese Klasse mit extend zu der neuen Klasse Benutzer.


Wenn wir im Quellcode die abstrakte Klasse betrachten, sehen wir das im Konstruktor die Variablen name und passwort schon definiert sind.
Das zwingt uns dazu, diese im Konstruktor der Klasse User, über das Schlüsselwort super zu initialisieren. Der folgende Funktionskörper des Konstruktors macht keinen großen Sinn. An seiner Stelle könnte in einem realen Projekt der Code für die weitere Verarbeitung der Parameter stehen.

Zum testen braucht es Daten. Diese Aufgabe übernimmt die Funktion listeErstellen(..). Die Funktion erstellt eine Liste aus User Objekten und gibt sie an die aufrufende Ebene zurück. Die momentan letzte Funktion in diesem File, listeAdd, erhält eine Liste und einen User als Parameter.
Über die .add Methode wird User der Liste hinzugefügt. Die neue, modifizierte Liste, wird wieder an die aufrufende Ebene zurückgegeben.


Im nächsten Post werden wir uns dann das main.dart File anschauen und die Funktion zum löschen eines Eintrags der Liste. to be continued....

Kommentare

Beliebte Posts aus diesem Blog

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

Dart und Klassen

Flutter Beispiel 6 -- BoxDecoration