nach den folien testat 1

main^2
2wenty1ne 2026-10-22 18:09:09 +02:00
parent 7cc069d988
commit 8807df8350
1 changed files with 78 additions and 12 deletions

View File

@ -24,11 +24,75 @@ class Buch {
} }
class Page { class Page {
const Page({this.number = 0});
final int number; 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() { 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(); final p = Person();
p.setName = "Lils"; p.setName = "Lils";
// print(p.getName); // print(p.getName);
@ -38,18 +102,20 @@ void main() {
// var display = nickname ?? "Kein Nickname"; // var display = nickname ?? "Kein Nickname";
// print(display); // Kein Nickname // print(display); // Kein Nickname
final book = Buch("Name", seitenzahl: 10); // final book = Buch("Name", seitenzahl: 10);
print('Seitennummer eingeben:'); // print('Seitennummer eingeben:');
int? seitennummer = int.tryParse(stdin.readLineSync() ?? ''); // int? seitennummer = int.tryParse(stdin.readLineSync() ?? '');
late Page seite; // late Page seite;
if (seitennummer != null) { // if (seitennummer != null) {
seite = Page(number: seitennummer); // seite = Page(number: seitennummer);
} // }
else { // else {
seite = Page(); // seite = Page();
} // }
print(seite); // print(seite);
} }