cup - java zwölfte vorlesung klassen – komposition und vererbung freitag, 15. november 2002
TRANSCRIPT
![Page 1: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/1.jpg)
CuP - Java
Zwölfte VorlesungKlassen – Komposition und Vererbung
Freitag, 15. November 2002
![Page 2: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/2.jpg)
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
![Page 3: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/3.jpg)
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;
}
![Page 4: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/4.jpg)
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;
}
![Page 5: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/5.jpg)
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;
}
}
![Page 6: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/6.jpg)
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()+".");
}}
![Page 7: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/7.jpg)
15. November 2002
CuP WS 2002/2003 7
Anweisungsschema
Johannes
Kepler
vorname
nachname
jk
Einstein
vorname
nachname
ae
Name String
String
StringName
![Page 8: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/8.jpg)
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;
}
![Page 9: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/9.jpg)
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;
}
![Page 10: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/10.jpg)
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;
}
}
![Page 11: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/11.jpg)
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());
}
}
![Page 12: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/12.jpg)
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;
![Page 13: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/13.jpg)
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;
}
![Page 14: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/14.jpg)
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;
}
![Page 15: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/15.jpg)
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;
}
![Page 16: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/16.jpg)
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;
}
}
![Page 17: CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002](https://reader036.vdokument.com/reader036/viewer/2022082918/55204d7f49795902118d17ff/html5/thumbnails/17.jpg)
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());}
}