121 lines
2.1 KiB
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);
|
|
|
|
|
|
} |