CPD/Testat1-Vorbereitung/test.dart

121 lines
2.1 KiB
Dart

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);
}