| Autor |
Nachricht |
stef
Mitglied
Benutzerprofil
Anmeldungsdatum: 06.11.2001
Beiträge: 405
|
stef Mitglied
14:04:00 01.04.2002 Titel: |
super |
Zitieren |
hallo
in einer abgeleiteten Klasse möchte ich einen Wert aus der Vaterklasse auslesen. wie kann ich dies machen? mit super klappt das bei mir nicht so ganz.
| C++: | 1 2 3 4 5 6 7 8 9 | class Time
{
int Hour,Minute,Sec;
}
class Weltzeit extends Time
int temp=-1;
//und jetzt möchte ich Hour Minute und Sec aus der Klasse Time Anzeigen | | |
|
|
|
 |
Werbeunterbrechung
|
|
 |
TriPhoenix
Mitglied
Benutzerprofil
Anmeldungsdatum: 05.08.2001
Beiträge: 1530
|
TriPhoenix Mitglied
14:23:00 01.04.2002 Titel: |
|
Zitieren |
mach die variablen protected, dann stehen sie in der subklasse als ganz normale variablen zur verfügung:
[java]
class Time
{
protected int Hour,Minute,Sec;
}
class Weltzeit extends Time
{
public void irgendwas()
{
Hour = 12;
}
}[/code]
alternativb baust du in die Klasse Time get/ste-methoden, bzw. wenn die kalsse ausm java-pack ist, hat die garantiert welche, so dass du einfach getHour/steHour etc. aufrufen kannst |
|
|
|
 |
stef
Mitglied
Benutzerprofil
Anmeldungsdatum: 06.11.2001
Beiträge: 405
|
stef Mitglied
14:30:00 01.04.2002 Titel: |
|
Zitieren |
ja das schon aber wie kann ich die Werte aus der Vaterklasse auslesen.
denn in der subklasse möchte ich mit den Werten der Vaterklasse arbeiten
[ Dieser Beitrag wurde am 01.04.2002 um 14:30 Uhr von stef editiert. ] |
|
|
|
 |
Twiggy Ramirez
Mitglied
Benutzerprofil
Anmeldungsdatum: 09.03.2002
Beiträge: 101
|
Twiggy Ramirez Mitglied
15:44:00 01.04.2002 Titel: |
|
Zitieren |
mit super, wie du schon sagtest. Aber mal ne andere Frage: Wozu schreibst Du eine eigene Zeit-Klasse, sowas gibs doch schon? |
_________________ C++? Is that a kind of toilet paper?
|
|
 |
stef
Mitglied
Benutzerprofil
Anmeldungsdatum: 06.11.2001
Beiträge: 405
|
stef Mitglied
19:04:00 01.04.2002 Titel: |
|
Zitieren |
nein das nur ein probebeispiel. aber das mit super klappt bei mir eben nicht so ganz wenn ich mit super.Hour die stunden aus der Vaterklasse auslesen möchte ist der Wert immer 0. |
|
|
|
 |
TriPhoenix
Mitglied
Benutzerprofil
Anmeldungsdatum: 05.08.2001
Beiträge: 1530
|
TriPhoenix Mitglied
00:13:00 02.04.2002 Titel: |
|
Zitieren |
Du arbeitest in meinem Beispiel automatisch mit den Werten dert vaterklasse...es sie denn du überschreibst die Variablen, was diene Frage abe rnihct vermuten lässt. der Witz der Vererbung ist ja gerade, dass wenn B extends A, dann hat B alle Eigenscvhaften von A, also auch dessen Variablen |
|
|
|
 |
stef
Mitglied
Benutzerprofil
Anmeldungsdatum: 06.11.2001
Beiträge: 405
|
stef Mitglied
23:25:00 02.04.2002 Titel: |
|
Zitieren |
das mit dem Vererben ist mir schon klar. ich bin mir nur nicht sicher ob auch die Werte die in den Variablen sind auch übergeben werden. |
|
|
|
 |
CengizS
Mitglied
Benutzerprofil
Anmeldungsdatum: 28.05.2001
Beiträge: 3502
|
CengizS Mitglied
08:45:00 03.04.2002 Titel: |
|
Zitieren |
Nein das werden sie nicht - es sei denn es handelt sich um solche die static sind. Jedes Objekt B welches in seiner Klassendefinition von A abgeleitet worden ist besitzt zwar die öffentlichen Eigenschaften von A jedoch hat ein Objekt vom Typ B stets andere "Inhalte" wie ein Objekt A. Daraus ergibt sich:
B ist ähnlich A ABER nicht B ist gleich A
Als Beispiel:
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class A {
public static int staticMember_1 = 12;
public static int staticMember_2 = 25;
public int member_1 = 123;
public int getMember1() {
return member_1;
}
}
public class B extends A {
public B() {
System.out.println("member_1 = " + getMember1());
}
public static void main (String args[]) {
B theB = new B();
System.out.println("staticMember_1 = " + staticMember_1);
System.out.println("staticMember_2 = " + staticMember_2);
}
} | | |
_________________ Viele Grüße, Cengiz Şahin
|
|
 |
stef
Mitglied
Benutzerprofil
Anmeldungsdatum: 06.11.2001
Beiträge: 405
|
stef Mitglied
21:50:00 03.04.2002 Titel: |
|
Zitieren |
jetzt ist mir alles klar. mein fehler war das ich die Variablen nicht als static definiert habe.
danke
mfc stefan |
|
|
|
 |