/** * Kapselt die Informationen einer natürlichen Person. * Erlaubt keinen Zugriff auf attribute mehr, sondern nur noch über Methoden * @author Tom.Eicher@bigfoot.com */ public class PrivatPerson { /** privates Attribut name; Zugriff nur aus dieser Klasse möglich! */ private String name; /** öffentliches Attribut geschlechtM; Zugriff für alle möglich! */ public boolean geschlechtM; /** privates Attribut alter; Zugriff nur aus dieser Klasse möglich! */ private short alter; /** privates Attribut voll; Zugriff nur aus dieser Klasse möglich! */ private boolean voll; /** * Öffentliche Methode um den Namen zu erfahren */ public String getName() { return name; } /** * Öffentliche Methode um den Namen zu setzen * @param n Neuer Name */ public void setName(String n) { name = n; } public short getAlter() { return alter; } /** * Öffentliche Methode um das Alter zu setzen. * Korrigiert automatisch das Volljährigkeits-Attribut */ public void setAlter (short a) { alter = a; if (alter >= 18) voll = true; else voll = false; } /** * Öffentlicher Lese-Zugriff auf Volljährigkeits-Attribut. * Kann nur indirekt über Methode setAlter() gesetzt werden! * @return true wenn volljährig, false wenn nicht */ boolean istVolljaehrig() { return voll; } String getBegruessung() { if (geschlechtM) { return "Sehr geehrter Herr "+name+" (Alter: "+alter+", Volljährig: "+voll+")"; } else { return "Sehr geehrte Frau "+name+" (Alter: "+alter+", Volljährig: "+voll+")"; } } // KONSTRUKTOREN // dienen dem erstmaligen Erzeugen ("instantiieren") des Objektes. Direkt im // new-Aufruf können hier Anfangs-Werte für Attribute mitgegeben werden! /** * Der Konstruktor baut ein neues Objekt mit Anfangswerten * @param n Neuer Name * @param a das Alter * @param men true wenn männlich, false wenn weiblich */ public PrivatPerson(String n, short a, boolean men) { setName(n); setAlter(a); geschlechtM = men; } /** * Wenn ich einen anderen Konstruktor programmiere, geht der automatische ("leere") * Konstruktor verloren. Ausser, ich programmiere ich extra nochmal: */ public PrivatPerson() { } }