cup - java zwölfte vorlesung klassen – komposition und vererbung freitag, 15. november 2002
TRANSCRIPT
CuP - Java
Zwölfte VorlesungKlassen – Komposition und Vererbung
Freitag, 15. November 2002
15. November 2002
CuP WS 2002/2003 2
Die Klasse Name
Name hat: Zwei Attribute vom Typ String Drei Konstruktoren Zwei Zugangsmethoden Zwei Mutationsmethoden Eine Ausgabemethode
15. November 2002
CuP WS 2002/2003 3
Implementation der Klasse Name (1/3)
public class Name{
private String vorname;
private String nachname;
Name(){
}
Name(String vorname, String nachname){
this.vorname = vorname;
this.nachname = nachname;
}
15. November 2002
CuP WS 2002/2003 4
Implementation der Klasse Name (2/3)Name(String nachname){
this.nachname = nachname;}
String vorname(){return vorname;
}String nachname(){
return nachname;}
void setzeVorname(String vorname){this.vorname = vorname;
}
15. November 2002
CuP WS 2002/2003 5
Implementation der Klasse Name (3/3)void setzeNachname(String nachname){
this.nachname = nachname;
}
public String toString(){
String s = new String();
if (vorname != null) s = s + vorname + " ";
if(nachname != null) s = s + nachname;
return s;
}
}
15. November 2002
CuP WS 2002/2003 6
Die Klasse TesteNamepublic class TesteName{
public static void main(String[ ] args){Name jk = new Name("Johannes", "Kepler");Name ae = new Name("Einstein");System.out.println(jk.toString() + " entschluesselte das
Geheimnis der Planetenbahnen.");System.out.println("Sein Vorname ist " + jk.vorname() +
".");System.out.println(ae.toString() + " entwickelte die
allgemeine Relativitaetstheorie.");ae.setzeVorname("Albert");System.out.println(ae.toString()+".");
}}
15. November 2002
CuP WS 2002/2003 7
Anweisungsschema
Johannes
Kepler
vorname
nachname
jk
Einstein
vorname
nachname
ae
Name String
String
StringName
15. November 2002
CuP WS 2002/2003 8
Die Klasse Person (1/3)class Person{
protected Name name;
protected char geschlecht; // m oder w
protected String kennnummer; // z.B. Sozialversicherungsnummer
Person(Name name, char geschlecht){
this.name = name;
this.geschlecht = geschlecht;
}
15. November 2002
CuP WS 2002/2003 9
Die Klasse Person (2/3)
Name name(){
return name;
}
char geschlecht(){
return geschlecht;
}
String kennnummer(){
return kennnummer;
}
15. November 2002
CuP WS 2002/2003 10
Die Klasse Person (3/3)
void setzeKennnummer(String kennnummer){
this.kennnummer = kennnummer;
}
public String toString(){
String s = new String(name.toString() + " (Geschlecht: " + geschlecht +")");
return s;
}
}
15. November 2002
CuP WS 2002/2003 11
Die Klasse TestePerson
class TestePerson{
public static void main(String[] args){
Name bobsName = new Name("Robert", "Dylan");
Person bob = new Person(bobsName, 'm');
System.out.println(bob.toString());
}
}
15. November 2002
CuP WS 2002/2003 12
Die Klasse Mensch (1/5)class Mensch{
protected Name name;
protected char geschlecht; // m oder w
protected String kennnummer; // z.B. //Sozialversicherungsnummer
protected Mensch vater;
protected Mensch mutter;
15. November 2002
CuP WS 2002/2003 13
Die Klasse Mensch (2/5)
private static final String ZR = " ";
private static String tab = "";
Mensch(Name name, char geschlecht){
this.name = name;
this.geschlecht = geschlecht;
}
15. November 2002
CuP WS 2002/2003 14
Die Klasse Mensch (3/5)Name name(){
return name;
}
char geschlecht(){
return geschlecht;
}
String kennnummer(){
return kennnummer;
}
15. November 2002
CuP WS 2002/2003 15
Die Klasse Mensch (4/5)void setzeKennnummer(String kennnummer){
this.kennnummer = kennnummer;}
void setzteVater(Mensch vater){this.vater = vater;
}
void setzeMutter(Mensch mutter){this.mutter = mutter;
}
15. November 2002
CuP WS 2002/2003 16
Die Klasse Mensch (5/5)public String toString(){
String s = new String(name.toString() + " (Geschlecht: " + geschlecht +")");
s = s + "\n";
if(mutter != null){
tab = tab + ZR;
s = s + tab + "Mutter: " + mutter.toString();
}
return s;
}
}
15. November 2002
CuP WS 2002/2003 17
Die Klasse TesteMensch
class TesteMensch{
public static void main(String[] args){Mensch ww = new Mensch(new Name("William",
"Windsor"), 'm');Mensch cw = new Mensch(new Name("Charles",
"Windsor"), 'm');Mensch ew = new Mensch(new Name("Elisabeth ",
"Windsor"), 'w');cw.setzeMutter(ew);System.out.println(cw.toString());}
}