import 'dart:io'; class Person { String _name = ""; String get getName => _name; set setName(String value) { _name = value; } } class Buch { late String titel; int? seitenzahl; bool gelesen = false; // Buch(this.titel, this.seitenzahl); Buch(this.titel, {this.seitenzahl}); void erzeugeInhalt() {} void lesen() { gelesen = true; } } class Page { 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); // String? nickname; // var display = nickname ?? "Kein Nickname"; // print(display); // Kein Nickname // final book = Buch("Name", seitenzahl: 10); // print('Seitennummer eingeben:'); // int? seitennummer = int.tryParse(stdin.readLineSync() ?? ''); // late Page seite; // if (seitennummer != null) { // seite = Page(number: seitennummer); // } // else { // seite = Page(); // } // print(seite); }