Line | |
---|
1 | package eu.hsrw.tr.prog.vl.oop; |
---|
2 | |
---|
3 | /** |
---|
4 | * Demo Vererbung |
---|
5 | * |
---|
6 | * @author Thomas Richter |
---|
7 | * |
---|
8 | */ |
---|
9 | public class Student extends Person { |
---|
10 | // Klassenvariable, speichert die nächste zu vergebende Matrikelnummer. |
---|
11 | // Es existiert genau ein Exemplar der Variablen für ALLE Objekte des |
---|
12 | // Typs Student. |
---|
13 | // Das Schlüsselwort static kennzeichnet eine Klassenvariable |
---|
14 | private static int nextMatNr = 10000; |
---|
15 | |
---|
16 | // Matrikelnummer |
---|
17 | private int matnr; |
---|
18 | // Studienfach |
---|
19 | String fach; |
---|
20 | // Jahr des Studienbeginns |
---|
21 | int jsb; |
---|
22 | |
---|
23 | /** |
---|
24 | * Student Konstruktor |
---|
25 | * |
---|
26 | * @param vn |
---|
27 | * Vorname |
---|
28 | * @param nn |
---|
29 | * Nachname |
---|
30 | * @param t |
---|
31 | * Tag des Geburtsdatums |
---|
32 | * @param m |
---|
33 | * Monat des Geburtsdatums |
---|
34 | * @param j |
---|
35 | * Jahr des Geburtsdatums |
---|
36 | * @param f |
---|
37 | * Studienfach |
---|
38 | * @param jsb |
---|
39 | * Jahr des Studienbeginns |
---|
40 | */ |
---|
41 | public Student(String vn, String nn, int t, int m, int j, String f, int jsb) { |
---|
42 | |
---|
43 | // Konstruktor von Person aufrufen |
---|
44 | super(vn, nn, t, m, j); |
---|
45 | |
---|
46 | this.fach = f; |
---|
47 | this.jsb = jsb; |
---|
48 | |
---|
49 | // Matrikelnummer setzen |
---|
50 | this.matnr = Student.nextMatNr; |
---|
51 | // Zähler für Matrikelnummern erhöhen |
---|
52 | Student.nextMatNr++; |
---|
53 | } |
---|
54 | |
---|
55 | /** |
---|
56 | * Copy Konstruktor |
---|
57 | * |
---|
58 | * @param s |
---|
59 | * zu kopierendes Student Objekt |
---|
60 | */ |
---|
61 | public Student(Student s) { |
---|
62 | this.vorname = s.vorname; |
---|
63 | this.name = s.name; |
---|
64 | // Für Objekte muss wiederum deren Copy Konstruktor aufgerufen werden |
---|
65 | this.gebdat = new Datum(s.gebdat); |
---|
66 | this.fach = s.fach; |
---|
67 | this.jsb = s.jsb; |
---|
68 | this.matnr = s.matnr; |
---|
69 | } |
---|
70 | |
---|
71 | public int getMatnr() { |
---|
72 | return matnr; |
---|
73 | } |
---|
74 | |
---|
75 | public int jahrgang() { |
---|
76 | return this.jsb; |
---|
77 | } |
---|
78 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.