Abstrakte Klassen

BROker

Mitglied
Hallo Community,

habe mal wieder ein paar Fragen diesmal bzgl. ABstrakter Klassen und dem Interface Comparable.
Im Anhang findet ihr die Aufgabenstellung.

Java:
import java.util.*;
import java.text.SimpleDateFormat;

public abstract class Termin implements Comparable{
    protected Date wann;
    protected String was;

    public Termin(Date d, String was){
	this.wann = d;
	//System.out.println(d.getTime());
	this.was = was;
    }

    public String toString(){
	SimpleDateFormat sdf = new SimpleDateFormat("dd'.'MM'. um 'HH':'mm'h : '",Locale.GERMAN);
	return sdf.format(this.wann) + was;
    }
    
   
    public Date getWann(){
    	return this.wann;
    }

    public int compareTo(Termin termin){
    	return this.wann.compareTo(termin.getWann());
    }
}

hier die Klasse Termin.

Java:
import java.util.Date;

public class MeinTermin extends Termin implements Comparable{

    public MeinTermin(Date wann, String was){
	super(wann,was);
    }

    
  public Date getWann(){
	  return this.wann;
  }
  
  public int compareTo(MeinTermin termin){
	  return wann.compareTo(termin.getWann());
  }



  
}

hier die Klasse Mein Termin.

nun zu meiner Frage
Habe ich in der Klasse "MeinTermin" die Methoden des Interface Comparable richtig Implementiert und funktioniert der Vergleich so wie ich ihn gemacht habe.
In der Aufgabenstellung Aufgabenteil a) Aufgabe 1 .

Anhang anzeigen P10.pdf
 
Zuletzt bearbeitet:

arilou

Bekanntes Mitglied
Das hast du wohl nicht richtig gemacht. (Wenn auch fast ;).)
Die Klasse Termin ist (in der hier geposteten Version) unnötig 'abstract', da sie keine 'abstract' Methoden (mehr) enthält.
Die Klasse MeinTermin ist (so) absolut unnötig, da sie keinerlei Funktionalität (zusätzlich) bietet, die nicht schon (die geänderte) Termin besäße.

Ich rate mal, dass hießige Version von Klasse Termin bereits von dir verändert wurde (was du wohl eigentlich nicht sollst, sie soll wohl unverändert bleiben).
Der Aufgabensteller hat aber ebenfalls einen Lapsus in der Aufgabe:
[...] und darüber der Vergleich von zwei Terminen über Ihre Daten möglich ist.
sollte wohl besser heißen:
[...] und darüber der Vergleich von zwei MeinTerminen über Ihre Daten möglich ist.
Denn sonst müsste man tatsächlich .compareTo in Termin implementieren.

Ich an deiner Stelle würde also vorne in der MeinTermin-Klasse erst mal als Kommentar reinschreiben, dass
"ich nehme an, dass die Aufgabenstellung wünscht, dass zwei "MeinTermin"-Objekte mittels Comparable vergleichbar sein sollen"
oder so ähnlich.

Die weiteren Teilaufgaben von Aufgabe 1 hab' ich nur kurz überflogen, kann aber sein, dass der Aufgabensteller noch mehr solcher Ungenauigkeiten in seinen Formulierungen drin hat ~ tja.
 
Zuletzt bearbeitet:

BROker

Mitglied
Oh ja habe die falsche Datei genommen :oops:

Hier die richtige Datei der Klasse Termin ohne Veränderung meinerseits
[Java]package p10.vorgaben.aufgabe1;

import java.util.*;
import java.text.SimpleDateFormat;

public abstract class Termin implements Comparable{
protected Date wann;
protected String was;

public Termin(Date d, String was){
this.wann = d;
//System.out.println(d.getTime());
this.was = was;
}

public String toString(){
SimpleDateFormat sdf = new SimpleDateFormat("dd'.'MM'. um 'HH':'mm'h : '",Locale.GERMAN);
return sdf.format(this.wann) + was;
}


}
[/code]
 

BROker

Mitglied
Hallo also ich komme einfach nicht weiter.

Könnte mir bitte jemand sagen wo mein Fehler in der Implementierung des Interface Comparable liegt?

Vielen Dank schon mal im voraus
 

njans

Top Contributor
Ja klar, du implementierst die Methode compareTo nicht. Zumindest ist sie nicht in dem code, den du gepostet hast.
 

kaoZ

Top Contributor
naja , du musst eben festlegen wann 2 Termine komplett als Gleich angesehen werden, sprich könnte man dies anhand des Datums, der Zeit und eben unter Berücksichtigung eines evtl. angegebenen Grundes machen
 
Zuletzt bearbeitet:

njans

Top Contributor
Java:
public class CompareTest implements Comparable<CompareTest>
{
	private int testValue;
	
	/*
	 * (non-Javadoc)
	 * @see java.lang.Comparable#compareTo(java.lang.Object)
	 */
	@Override
	public int compareTo(CompareTest other)
	{
		return testValue - other.testValue;
	}
}

Mal ein einfaches Beispiel.

So könnte man es machen:
Java:
	/*
	 * (non-Javadoc)
	 * @see java.lang.Comparable#compareTo(java.lang.Object)
	 */
	@Override
	public int compareTo(CompareTest other)
	{
		int dif = wann.compareTo(other.wann);
		
		if (dif == 0)
			return was.compareTo(other.was);
		
		return dif;
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
M Abstrakte Klassen - Notation Java Basics - Anfänger-Themen 9
G Abstrakte Klassen Java Basics - Anfänger-Themen 11
J Objekte und Abstrakte Klassen Java Basics - Anfänger-Themen 2
J Java Interface/abstrakte Klassen Java Basics - Anfänger-Themen 2
M Erste Schritte Prüfungsbeispiel: Interface / abstrakte Klassen Java Basics - Anfänger-Themen 8
D Abstrakte Klassen Verständniss Frage Java Basics - Anfänger-Themen 4
D Interface Interfaces und abstrakte Klassen implementieren Java Basics - Anfänger-Themen 4
S Abstrakte Klassen Java Basics - Anfänger-Themen 2
C Dynamische Referenz & abstrakte Klassen Java Basics - Anfänger-Themen 3
V Interface Interfaces und abstrakte Klassen Java Basics - Anfänger-Themen 3
G Abstrakte Klassen - theoretische Frage Java Basics - Anfänger-Themen 2
OnDemand Abstrakte Klassen Java Basics - Anfänger-Themen 4
T OOP Abstrakte Klassen und ihre Kinder: wie läuft das? Java Basics - Anfänger-Themen 3
M Abstrakte Klassen Java Basics - Anfänger-Themen 2
J Interfaces Abstrakte Klassen Java Basics - Anfänger-Themen 15
M Interface und Abstrakte Klassen Java Basics - Anfänger-Themen 12
R Namenskonvention abstrakte Klassen Java Basics - Anfänger-Themen 6
C OOP Objektstruktur: abstrakte Klassen Java Basics - Anfänger-Themen 3
T OOP abstrakte klassen - methoden Java Basics - Anfänger-Themen 8
M Abstrakte Klassen Java Basics - Anfänger-Themen 21
D Abstrakte Klassen und Interfaces als Paramter in Funktionen Java Basics - Anfänger-Themen 3
T Interfaces: Braucht man abstrakte Klassen eigentlich noch? Java Basics - Anfänger-Themen 3
T Abstrakte Klassen Java Basics - Anfänger-Themen 6
C abstrakte Klassen mögen mich nicht... Java Basics - Anfänger-Themen 2
I Abstrakte Klassen Java Basics - Anfänger-Themen 8
D Zusammenfassung von Klassen (Vererbung? Abstrakte Klass? ...?) Java Basics - Anfänger-Themen 8
G Abstrakte Klassen und Methoden Java Basics - Anfänger-Themen 3
C Schnittstellen und Abstrakte Klassen Java Basics - Anfänger-Themen 3
I Abstrakte Klassen Java Basics - Anfänger-Themen 22
G Abstrakte Klassen ? Java Basics - Anfänger-Themen 9
nadoria abstrakte Klassen Java Basics - Anfänger-Themen 6
M Unterscheid Abstrakte Klassen/Interface Klassen? Java Basics - Anfänger-Themen 7
T abstrakte Klassen? Java Basics - Anfänger-Themen 2
M abstrakte klassen und interfaces Java Basics - Anfänger-Themen 2
M abstrakte klassen / Schnittstellen Java Basics - Anfänger-Themen 4
H abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 13
R Interfaces durch abstrakte Klassen ersetzbar? Java Basics - Anfänger-Themen 8
A Abstrakte Klassen und Interfaces Java Basics - Anfänger-Themen 11
S Vererbung Abstrakte Methoden: Wozu das Ganze?! Java Basics - Anfänger-Themen 7
S abstrakte methoden in subclass? Java Basics - Anfänger-Themen 7
E abstrakte Klasse implementiert ein Interface Java Basics - Anfänger-Themen 40
G Java Abstrakte Methoden Java Basics - Anfänger-Themen 2
T Abstrakte Klasse und Interfaces Java Basics - Anfänger-Themen 12
D Abstrakte Klasse, Konstruktorkette, Attribute setzen Java Basics - Anfänger-Themen 12
L Abstrakte Typen und Schnittstellen Java Basics - Anfänger-Themen 19
S Abstrakte Methode nutzen Java Basics - Anfänger-Themen 9
J abstrakte Methode in Klasse mit Rückgabetyp der abgeleiteten Klasse Java Basics - Anfänger-Themen 5
I Abstrakte Klasse - static Attribute deklarieren Java Basics - Anfänger-Themen 14
T Übungsaufgabe abstrakte Klasse Java Basics - Anfänger-Themen 21
A Interface Abstrakte Interface Methode kann nicht benutzt werden Java Basics - Anfänger-Themen 10
S Gehaltsberechnung (Vererbung, abstrakte Methoden) Java Basics - Anfänger-Themen 6
S Datentypen Abstrakte Datentypen Java Basics - Anfänger-Themen 0
kilopack15 Beziehung Interface - (abstrakte) Klasse -Unterklasse Java Basics - Anfänger-Themen 3
K Abstrakte Klasse: vererbte Klasse; instance of? Java Basics - Anfänger-Themen 26
A Abstrakte Datentypen - Methode delete Java Basics - Anfänger-Themen 6
N Vererbung Abstrakte Klasse stateful Java Basics - Anfänger-Themen 3
D Methoden Abstrakte Methoden Java Basics - Anfänger-Themen 3
W Abstrakte Klasse mit Variable? Java Basics - Anfänger-Themen 2
C Abstrakte und virtuelle Methoden in Java Java Basics - Anfänger-Themen 4
E verdeckte abstrakte Methode sinnvoll? Java Basics - Anfänger-Themen 7
A Vererbung Abstrakte Klasse mit Methode die Objekte der Subklassen benutzt? Java Basics - Anfänger-Themen 7
W Abstrakte und konkrete Klasse Java Basics - Anfänger-Themen 4
F Abstrakte Klasse doch zum "Teil" instanzieren? Java Basics - Anfänger-Themen 4
H Abstrakte Basisklasse Verständnisproblem! Java Basics - Anfänger-Themen 8
M Statische Methoden in Interface/Abstrakte Klasse Java Basics - Anfänger-Themen 6
N Datentypen abstrakte Klasse wird instanziert Java Basics - Anfänger-Themen 3
D Methoden abstrakte Methoden und Rückgabewerte Java Basics - Anfänger-Themen 2
B Abstrakte Methode vs. Interface Java Basics - Anfänger-Themen 2
propra Interface - abstrakte Klasse Java Basics - Anfänger-Themen 18
N Abstrakte Klasse Java Basics - Anfänger-Themen 28
L Über abstrakte Klasse auf eine Klasse zugreifen? Java Basics - Anfänger-Themen 6
V Vererbung Abstrakte Methode Java Basics - Anfänger-Themen 3
J Welchen Sinn haben abstrakte Methoden? Java Basics - Anfänger-Themen 4
D Wann genau abstrakte Klasse und wann ein Interface verwenden? Java Basics - Anfänger-Themen 4
StupidAttack Abstrakte Methoden in nicht-abstrakter Methode in abstrakter Klasse Java Basics - Anfänger-Themen 6
T Abstrakte Klasse Java Basics - Anfänger-Themen 3
S Abstrakte Klasse Java Basics - Anfänger-Themen 5
T OO, Konstruktor, abstrakte Methoden Java Basics - Anfänger-Themen 13
K Abstrakte Klasse vs. Interface Java Basics - Anfänger-Themen 21
K Abstrakte Klasse bilden? Java Basics - Anfänger-Themen 11
S Abstrakte Klasse, festlegen, dass Methode verändert werden muss. Java Basics - Anfänger-Themen 4
H Warum Java? | Abstrakte Klasse = Modul? Java Basics - Anfänger-Themen 20
J abstrakte klasse und methode super Java Basics - Anfänger-Themen 2
H Eine Abstrakte Klasse muss. Java Basics - Anfänger-Themen 7
G Abstrakte Klasse "Point" Java Basics - Anfänger-Themen 2
G Abstrakte Methode in gleicher Klasse aufrufen Java Basics - Anfänger-Themen 5
M abstrakte Klasse Java Basics - Anfänger-Themen 3
F Abstrakte Klasse: Konstruktor vs init() Java Basics - Anfänger-Themen 13
G Abstrakte Klasse (was passiert hier) Java Basics - Anfänger-Themen 3
G Interface oder Abstrakte Klasse? Java Basics - Anfänger-Themen 3
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
Acha Unterschied Interface - abstrakte Klasse Java Basics - Anfänger-Themen 4
B OOP: abstrakte klasse implementiert interface Java Basics - Anfänger-Themen 3
L abstrakte Methode nicht implementiert! Java Basics - Anfänger-Themen 5
D Abstrakte Klasse Graphics Java Basics - Anfänger-Themen 3
A Abstrakte Klasse Java Basics - Anfänger-Themen 3
G abstrakte klasse Java Basics - Anfänger-Themen 6
F Abstrakte Klasse Baum Java Basics - Anfänger-Themen 6
A Eine abstrakte Methode static machen? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben