Vererbung

bluebaby

Aktives Mitglied
Hallo,
Ich komme bei meiner Aufgabe nicht weiter. Bis zum dritten Schritt hab ich es glaub ich hinbekommen. Beim Schritt 4 verstehe ich gar nichts mehr, soll der Schritt 4 in eine eigene Klasse geschrieben werden?, wie kann ich die Uhrzeit setzten?. Beim Schritt 5 weiß ich zwar für was die beiden Methoden sind aber für was brauch ich die beiden Methoden in der Klasse Zeit?(da is ja kein Objekt zum vergleichen da, oder?)
Die Angabe lautet:

1) Definieren Sie eine Klasse Zeit. die geeignete Getter und Setter-Methoden zum Ändern und Ermitteln einer gespeicherten Uhrzeit besitzt)Stunde,Minute).

2)Leiten Sie eine abstrakte Klasse ZeitFormat ab, die eine abstrakte Methode zur Ausgabe der Zeitangabe auf der Konsole besitzt.

3)Leiten Sie von der abstrakten Klasse ZeitFormat die Klasse ZeitFormat24 und ZeitFormat12 ab, und implementieren Sie dort die abstrakten Methoden der Klasse ZeitFormat.

4)Definieren Sie sechs Referenzvariablen von Typ ZeitFormat, und erzeugen Sie für diese Variablen drei Objekte von Typ Zeitformat12 und drei Objekte vom Typ Zeitformat24. Initialisieren Sie die Objekte mit verschiedenen Uhrzeit-Angaben, und rufen Sie die jeweilige Ausgabemethode auf.

5)Definieren Sie für die KlasseZeit aus Übung 1 die Methoden clone und equals.verwenden Sie die Methoden in einem Testprogramm.

6)Entwerfen Sie eine finale Klasse UhrZeit, die eine statische methode entspricht bereitstellt, und zwei Zeitangaben(Typ Zeit) zu vergleichen

Die Klassen:
Java:
public class Zeit
{
    private double uhrzeit;
    
    public double getUhrzeit(){
        return uhrzeit;
    }
    public void setUhrzeit(double uhrzeit){
        this.uhrzeit=uhrzeit;
    }
    
  }


Java:
public abstract class ZeitFormat extends Zeit
{
  abstract void Ausgabeuhrzeit(); 
    }

Java:
public class Zeitformat12 extends ZeitFormat
{
   public void Ausgabeuhrzeit(){
       System.out.println(getUhrzeit());
    }   
}

Java:
public class Zeitformat24 extends ZeitFormat
{
   public void Ausgabeuhrzeit(){
       System.out.println(getUhrzeit());
    }
}

Hier der Versuch von Schritt 4:
Java:
 public class uhrzeit 
{
    ZeitFormat Zeit1;
    ZeitFormat Zeit2;
    ZeitFormat Zeit3;
    ZeitFormat Zeit4;
    ZeitFormat Zeit5;
    ZeitFormat Zeit6;
    
    Zeit z2=new Zeit();
    Zeitformat12 z3=new Zeitformat12();
    
    Zeitformat24 z4=new Zeitformat24();
    Zeitformat24 z5=new Zeitformat24();
    Zeitformat24 z6=new Zeitformat24();
    
  }

Schritt 5 und 6 habe ich noch nicht.
Bitte um Hilfe ich bin schon am Verzweifeln.
 

darekkay

Bekanntes Mitglied
Was dir spätestens beim Testen auffallen müsste, ist, dass du gar keine Konstruktoren hast.
So kannst du
Java:
Zeitformat12 z3=new Zeitformat12();
nicht aufrufen, da Zeitformat keinen Konstruktor besitzt.

Was sich anbieten würde: ein Konstruktor mit einem Parameter. So würden die Klassen Zeit und ZeitFormat beispielsweise aussehen:

Java:
public class Zeit
{
	private double uhrzeit;

	public Zeit(double uhrzeit){
		this.uhrzeit = uhrzeit;
	}

	public double getUhrzeit(){
		return uhrzeit;
	}
	public void setUhrzeit(double uhrzeit){
		this.uhrzeit=uhrzeit;
	}

}
Java:
public abstract class ZeitFormat extends Zeit
{
	public ZeitFormat(double uhrzeit) {
		super(uhrzeit);
	}
	
	abstract void Ausgabeuhrzeit(); 
}

Nun kannst du mit Zeit z1 = new Zeit(13.56); ein Objekt erstellen.

Equals ist auch nicht schwer. Diese Methode erwartet ein anderes Zeit-Objekt, und gibt true zurück, wenn das aktuelle Objekt und das zweite Objekt gleich sind. Und diese sind genau dann gleich, wenn deren uhrzeit-Variable gleich ist.
So würde die Funktion aussehen:

Java:
	public boolean equals(Zeit zeit2){
		return zeit2.getUhrzeit() == this.uhrzeit;
	}
 

tfa

Top Contributor
Was dir spätestens beim Testen auffallen müsste, ist, dass du gar keine Konstruktoren hast.
So kannst du
[c]Zeitformat12 z3=new Zeitformat12();[/c]
nicht aufrufen, da Zeitformat keinen Konstruktor besitzt.
Das ist nicht ganz richtig. Wenn man in einer Klasse nicht selbst einen Konstruktur definiert, legt der Compiler automatisch einen parameterlosen Default-Konstruktor an.
 

XHelp

Top Contributor
bluebaby, was ist denn 4322.5321 für eine Uhrzeit? oO
Geh ein paar Schritte zurück und mach die Aufgaben so, wie die gestellt sind: Uhrzeit hat Stunden und Minuten. Verschiedene Formate müssen die Uhrzeit auch verschieden ausgeben (04:30 und 16:30) usw...
 

bluebaby

Aktives Mitglied
Also erstmal vielen Dank an alle.
Ich habs jetzt versucht so wie darekkay es erklärt hat zu probieren. Die beiden Klassen Zeitformat24 und Zeitformat12 lassen sich nicht übersetzten da er den Kontruktor nicht findet. Zu XHELP daran hab ich echt nicht gedacht^^
 

darekkay

Bekanntes Mitglied
Ich habs jetzt versucht so wie darekkay es erklärt hat zu probieren. Die beiden Klassen Zeitformat24 und Zeitformat12 lassen sich nicht übersetzten da er den Kontruktor nicht findet.

Ich hab dir einen Konstruktor angegeben, und auch gezeigt, wie es bei abgeleiteten Klassen funktioniert - das auf die beiden anderen Klassen zu übertragen sollte auch nicht mehr schwer sein ;)
Übrigens - wenn du Eclipse benutzt, kannst du in den Klassen auf "Source -> Generate Constructors from superclass" klicken, da wird es für dich erledigt ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
M Vererbung - Polymorphie Java Basics - Anfänger-Themen 37
L Java- Vererbung Java Basics - Anfänger-Themen 4
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 12
ineedhelpinjava Vererbung Java Basics - Anfänger-Themen 1
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
M Vererbung Java Basics - Anfänger-Themen 6
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
M Generics Vererbung Listen Java Basics - Anfänger-Themen 2
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Java Basics - Anfänger-Themen 7
D Vererbung Java Basics - Anfänger-Themen 3
K Schleife berechnet kein Ergebnis (Vererbung) Java Basics - Anfänger-Themen 6
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
W Zur Vererbung: Wann und wie? Java Basics - Anfänger-Themen 35
H Datenkapselung, Vererbung und UML Java Basics - Anfänger-Themen 16
districon Super-Stichwort/ Vererbung Java Basics - Anfänger-Themen 3
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
G Vererbung Klassenattribute Java Basics - Anfänger-Themen 9
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
N Thema Vererbung Java Basics - Anfänger-Themen 31
A Vererbung Vererbung Übung Java Basics - Anfänger-Themen 5
B Vererbung - Sichtbarkeitsmodifikation - protected Java Basics - Anfänger-Themen 10
B Best Practice Unschlüssig ob Vererbung oder Interface Java Basics - Anfänger-Themen 2
G Java Vererbung Java Basics - Anfänger-Themen 8
Y Vererbung Konto - Anfangsprobleme Java Basics - Anfänger-Themen 7
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
Kirby.exe Vererbung im Detail erklärt? Java Basics - Anfänger-Themen 9
N Modellierung, vererbung, Java Basics - Anfänger-Themen 163
M Fehlendes Verständnis für dynamische Bindung und Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung im Computerspiel Java Basics - Anfänger-Themen 7
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
I Vererbung Java Basics - Anfänger-Themen 13
W OOP Vererbung und Problem bei Zählschleife in einer Methode Java Basics - Anfänger-Themen 10
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
V Vererbung Java Basics - Anfänger-Themen 2
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
J Vererbung Java Basics - Anfänger-Themen 3
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
O Umgang mit Vererbung verstehen Java Basics - Anfänger-Themen 4
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
O Vererbung änderung des Konstruktors Java Basics - Anfänger-Themen 8
L Vererbung Java Basics - Anfänger-Themen 5
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
S Vererbung Java mehrfach Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J Vererbung und Methodenaufruf Java Basics - Anfänger-Themen 11
G Polymorphie, Vererbung, statischer Typ, Laufzeittyp Java Basics - Anfänger-Themen 2
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
S Vererbung Funktionsweise Code zur Vererbung Java Basics - Anfänger-Themen 1
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
S Verständnis Vererbung Java Basics - Anfänger-Themen 3
D JavaFX Vererbung Java Basics - Anfänger-Themen 2
U Vererbung Generizität und Vererbung Java Basics - Anfänger-Themen 4
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
K Vererbung Octagon von Circle Java Basics - Anfänger-Themen 0
B Hilfe bei Vererbung Java Basics - Anfänger-Themen 2
D Vererbung Frage zum Klassenaufbau mit Vererbung Java Basics - Anfänger-Themen 1
T Vererbung und interface. Java Basics - Anfänger-Themen 1
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 1
F Vererbung in zwei Richtungen? Java Basics - Anfänger-Themen 14
D Vererbung / Polymorphie Java Basics - Anfänger-Themen 5
O Vererbung Java Basics - Anfänger-Themen 5
MiMa Vererbung Theorie OK, Praxis ?? Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
S Vererbung Java Basics - Anfänger-Themen 10
L Setter und Getter/Vererbung Java Basics - Anfänger-Themen 6
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
J Kleinere Frage zur Vererbung/Objekterzeugung Java Basics - Anfänger-Themen 2
G Vererbung Java Basics - Anfänger-Themen 12
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
J Vererbung Vererbung von Methoden Java Basics - Anfänger-Themen 6
B Vererbung Java Basics - Anfänger-Themen 12
K Vererbung (super) Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
C Vererbung Java Basics - Anfänger-Themen 4
L Vererbung Java Basics - Anfänger-Themen 3
J Klassenorganisation | Vererbung Java Basics - Anfänger-Themen 1
B Vererbung Vererbung Java Basics - Anfänger-Themen 2
N Generics Vererbung Wildcard Interface Java Basics - Anfänger-Themen 8
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1
M Anfängerprobleme mit Vererbung Java Basics - Anfänger-Themen 27
J Vererbung Java Basics - Anfänger-Themen 9
F Vererbung von Attributen zwischen zwei Klassen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben