63 lines
1.2 KiB
Java
63 lines
1.2 KiB
Java
package org.example;
|
|
|
|
import java.util.logging.Logger;
|
|
|
|
/**
|
|
* Eine Person.
|
|
*/
|
|
public class Person {
|
|
private String name;
|
|
private int alter;
|
|
protected Person partner = null;
|
|
|
|
Logger logger = Logger.getLogger(Person.class.getName());
|
|
|
|
/**
|
|
* Erstellen einer Person.
|
|
* @param name Name der Person.
|
|
* @param alter Alter der Person.
|
|
*/
|
|
Person(String name, int alter) {
|
|
this.alter = alter;
|
|
this.name = name;
|
|
}
|
|
|
|
boolean istVolljaehrig() {
|
|
return alter >= 18;
|
|
}
|
|
|
|
public boolean heiraten(Person partner) {
|
|
if (partner == null || this.partner != null || partner.getPartner() != null) {
|
|
logger.info("DU Bist dumm!!");
|
|
return false;
|
|
}
|
|
if (this == partner) {
|
|
return false;
|
|
}
|
|
if (!this.istVolljaehrig() || !partner.istVolljaehrig()) {
|
|
return false;
|
|
}
|
|
|
|
this.partner = partner;
|
|
partner.partner = this;
|
|
|
|
return true;
|
|
}
|
|
|
|
public Person getPartner() {
|
|
return partner;
|
|
}
|
|
|
|
public boolean isVerheirated() {
|
|
return this.partner != null;
|
|
}
|
|
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
public int getAlter() {
|
|
return alter;
|
|
}
|
|
}
|