diff --git a/Testat1-Vorbereitung/test.dart b/Testat1-Vorbereitung/test.dart index 0b5d594..0b763bb 100644 --- a/Testat1-Vorbereitung/test.dart +++ b/Testat1-Vorbereitung/test.dart @@ -24,11 +24,75 @@ class Buch { } class Page { - const Page({this.number = 0}); final int number; + + Page(int raw) : number = clean(raw); + Page.numbered(this.number); + Page.empty() : this(0); + Page.first(): number = 1; + + static int clean(int n) { + print("Defaul called"); + return n; + } +} + +mixin Logger { + void log(String msg) { + print("[LOG] ${super.runtimeType}: $msg"); + } +} + +abstract class Book with Logger { + bool gelesen; + + Book(this.gelesen); + + void lesen() { + log("Lesen gestartet"); + gelesen = true; + } +} + +class Taschenbuch extends Book { + Taschenbuch(bool gelesen) : + super(gelesen); +} + +class HashBuch { + final String titel; + final int seiten; + + HashBuch(this.titel, this.seiten); + + @override + int get hashCode => Object.hash(titel, seiten); + @override + bool operator ==(Object other) => other is HashBuch && other.titel == titel && other.seiten == seiten; } void main() { + final zahlenFixed = List.filled(4, 25); + // zahlenFixed.add(5); Fehler + + final hb1 = HashBuch("Dart", 1337); + final hb2 = HashBuch("Dart", 1337); + print(hb1.hashCode); + print(hb2.hashCode); + print(hb1 == hb2); + + var tb = Taschenbuch(false); + tb.lesen(); + + print("Default"); + var s1 = Page(1); + print("Numbered"); + var s2 = Page.numbered(2); + print("Empty"); + var s3 = Page.empty(); + print("First"); + var s4 = Page.first(); + final p = Person(); p.setName = "Lils"; // print(p.getName); @@ -38,18 +102,20 @@ void main() { // var display = nickname ?? "Kein Nickname"; // print(display); // Kein Nickname - final book = Buch("Name", seitenzahl: 10); + // final book = Buch("Name", seitenzahl: 10); - print('Seitennummer eingeben:'); - int? seitennummer = int.tryParse(stdin.readLineSync() ?? ''); + // print('Seitennummer eingeben:'); + // int? seitennummer = int.tryParse(stdin.readLineSync() ?? ''); - late Page seite; - if (seitennummer != null) { - seite = Page(number: seitennummer); - } - else { - seite = Page(); - } + // late Page seite; + // if (seitennummer != null) { + // seite = Page(number: seitennummer); + // } + // else { + // seite = Page(); + // } - print(seite); + // print(seite); + + } \ No newline at end of file