Changeset 256 in Java_Quellcode_SOOP_Vorlesung


Ignore:
Timestamp:
Dec 5, 2016, 3:27:56 PM (8 years ago)
Author:
tr
Message:

Copykonstruktoren und verdeckte Attribute

Location:
oop
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • oop/Person.java

    r188 r256  
    1616    }
    1717   
     18    /**
     19     * Copykonstruktor
     20     * @param p zu kopierendes Person Objekt
     21     */
     22    public Person(Person p) {
     23        this.vorname = p.vorname;
     24        this.name = p.name;
     25        // Copykonstruktor von Datum aufrufen
     26        this.gebdat = new Datum(p.gebdat);
     27    }
     28
    1829    public int jahrgang() {
    1930        return this.gebdat.jahr;
  • oop/PersonStudentTest.java

    r252 r256  
    2424        // p2 explizit auf Student casten
    2525        System.out.println(((Student) p2).fach);
     26       
     27        // Copykonstruktor
     28        Student s2 = new Student(s);       
     29        System.out.println(s);
     30        System.out.println(s2);
    2631    }
    2732}
  • oop/Student.java

    r252 r256  
    6161     */
    6262    public Student(Student s) {
    63         this.vorname = s.vorname;
    64         this.name = s.name;
    65         // Für Objekte muss wiederum deren Copy Konstruktor aufgerufen werden
    66         this.gebdat = new Datum(s.gebdat);
     63        // Copykonstruktor von Person (Oberklasse) aufrufen
     64        // von s wird nur der Teil, der von Person geerbt ist im
     65        // Copykonstruktor Person(Person) sichtbar sein.
     66        super(s);
     67
     68        // Attribute kopieren
    6769        this.fach = s.fach;
    6870        this.jsb = s.jsb;
Note: See TracChangeset for help on using the changeset viewer.