OOP
Intermediate
14 min
Klassen & Objekte
Eine Klasse ist ein Bauplan. Ein Objekt ist ein gebautes Ding nach diesem Bauplan.
01
Lesson
Eine Klasse
Felder speichern Zustand. Methoden beschreiben Verhalten. Der Konstruktor baut ein neues Objekt.
public class User {
private String name;
public User(String name) {
this.name = name;
}
public String greeting() {
return "Hallo $(this.name)";
}
}
main() {
User user = User("Jason");
println(user.greeting());
}
02
Lesson
public und private
public heißt: Von außen sichtbar. private heißt: Nur innerhalb der Klasse sichtbar.
Damit schützt du deine Daten. Andere Teile des Programms sollen nicht wild in deinem Objekt herumfummeln.
03
Lesson
Konstruktoren sollten validieren
Ein Objekt sollte nicht in einem kaputten Zustand entstehen. Solange Exceptions noch nicht final sind, ist eine Factory mit Result der sauberste Weg.
public class User {
private String name;
public User(String name) {
this.name = name;
}
}
public IResult<User, String> createUser(String name) {
if (name.isBlank()) {
return Failure("Name cannot be blank");
}
return Success(User(name.trim()));
}