Klassen Abstract, Interface und ein Chat Tool

SnrufjStill

Mitglied
Hallo, ich soll mich mit abstract und interface anfreunden und ein "Chat" Programm schreiben. Jedoch bin ich total unzufrieden und leicht verwirrt, deswegen erhoffe ich mir hier ein wenig Hilfe.


Soweit die Klassen:


interface Nachricht> wird von abstractNachricht implementiert


abstractNachricht > verwaltet die Sender id und Empfänger id die über dem Konstruktor überreicht werden


stringNachricht > (Oberklasse) verwaltet den String der über dem Konstruktor überreicht wird und ist extends von abstractNachricht


WasGehtMessage > (Unterklasse) erstellt einen Standard Text wie "Hi" und ist extends von TextMessage


Hier an der Stelle hätte ich schon ein paar Fragen da ich denke hier Fehler gemacht zu haben. Es sollte aber noch erwähnt werden das es ein ChatTool.java gibt die sendet, empfängt und die Kontakte verwaltet. Bei der send Methode gibt es ein Überladung damit jedes Format (Nachricht, stringNachricht und WasGehtMessage) angenommen wird. Wichtig ist auch das ChatTool.java keinerlei Strings annimmt. Das bedeutet, dass die Nachrichten als Object angenommen und weiter gegeben werden.


Aber nun zu meinen Fragen.


Es sind auch ein paar, ich verstehe die Aufgabenstellung nicht ganz fragen dabei. Hoffentlich könnt ihr mir da helfen.


1. Die Klasse abstractNachricht ist in einem package und in der Aufgabe heißt es: "Die Sichtbarkeit des Konstruktors soll auf das eigene Package und erweiternde Klassen beschränkt sein." wahrscheinlich ist hier gewollt, dass ich den Konstruktor auf protected setze, sicher bin ich mir aber nicht.


2. In dieser Klasse abstractNachricht gibt es zwei Getter Methoden für die Sender und Empfänger ID. Dort lautet es "stellen Sie sicher, dass diese in Unterklassen der abstrakten Klasse nicht überschrieben werden können.“ Da habe ich keine Ahnung wie genau das gehen soll.


3. Für die Klasse stringNachricht steht "Diese Klasse soll ein Feld für einen Nachrichtentext besitzen, welcher als Parameter des einzigen Konstruktor übergeben wird.", bedeutet das ich hier nur den Nachrichten String übergeben darf und sonst nichts oder das es nur ein Konstruktor geben darf? Im Konstruktor muss ich über super() die ID's übergeben, wenn ich nur den String habe geht das ja eigentlich nicht. Oder gibt es eine Möglichkeit die abstracte Klasse später zu initialisieren, ich habe zumindest nichts darüber gefunden?


Die 3. stört mich am meisten. Ich glaube, es ist so gewollt dass nur ein String bei der Erstellung von stringNachricht benötigt wird und durch das ChatTool, da es die IDs kennt, weiter ausgefüllt und weitergeschickt wird. Aber dadurch, dass es Interfaces und es auch keine genauen Anweisungen gibt bin ich der Meinung ich keine Setter Methoden hinzufügen darf.
 

Joose

Top Contributor
1. Die Klasse abstractNachricht ist in einem package und in der Aufgabe heißt es: "Die Sichtbarkeit des Konstruktors soll auf das eigene Package und erweiternde Klassen beschränkt sein." wahrscheinlich ist hier gewollt, dass ich den Konstruktor auf protected setze, sicher bin ich mir aber nicht.

Dann lies dir einfach nochmal die Theorie zu den Sichtbarkeiten durch ;)
http://openbook.rheinwerk-verlag.de...05_002.htm#mjefcaab87f441a3115bcea2e82c31d358
Unter diesem Link solltest du deine Antwort finden :)

2. In dieser Klasse abstractNachricht gibt es zwei Getter Methoden für die Sender und Empfänger ID. Dort lautet es "stellen Sie sicher, dass diese in Unterklassen der abstrakten Klasse nicht überschrieben werden können.“ Da habe ich keine Ahnung wie genau das gehen soll.

Stichwort "final"
http://openbook.rheinwerk-verlag.de...05_010.htm#mj8c03d0b5f6c28323310c16b245875509

3. Für die Klasse stringNachricht steht "Diese Klasse soll ein Feld für einen Nachrichtentext besitzen, welcher als Parameter des einzigen Konstruktor übergeben wird.", bedeutet das ich hier nur den Nachrichten String übergeben darf und sonst nichts oder das es nur ein Konstruktor geben darf? Im Konstruktor muss ich über super() die ID's übergeben, wenn ich nur den String habe geht das ja eigentlich nicht. Oder gibt es eine Möglichkeit die abstracte Klasse später zu initialisieren, ich habe zumindest nichts darüber gefunden?

Wie in der Angabe schon steht es soll nur einen Konstruktor geben. Wenn dieser keine IDs übergeben bekommt, dann solltest du für den "super()" Aufruf Defaultwerte annehmen.
Praktisch bei einer ID wäre es am einfachsten -1. Ein gültige ID kann später immer noch über die setter Methoden gesetz werden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Interface vs abstract Allgemeine Java-Themen 2
I Interface Interface / Klasse - wieso Abstract? Allgemeine Java-Themen 13
T Interface > Abstract > Class Allgemeine Java-Themen 11
N Unterschied abstract interface und interface Allgemeine Java-Themen 4
R Vererbung mit Interface und Abstract Allgemeine Java-Themen 3
T abstract - interface Unterschied Allgemeine Java-Themen 22
S static mit abstract und in interface Allgemeine Java-Themen 10
E Methoden abstract static Methode Allgemeine Java-Themen 8
L Vererbung Using @Autowired in Abstract Classes Allgemeine Java-Themen 4
S Frage zu abstract Allgemeine Java-Themen 5
Bananabert Abstract ArrayList Allgemeine Java-Themen 4
G Abstract class Stillfrage Allgemeine Java-Themen 4
H2SO3- abstract class mit Beispielen in abstracten Methoden Allgemeine Java-Themen 5
M abstract Methode aufrufbar? Allgemeine Java-Themen 3
O abstract, privat, Vererbung Allgemeine Java-Themen 29
T abstract + clone() = BUMM! Allgemeine Java-Themen 3
M ist "public abstract class * extends" möglich? Allgemeine Java-Themen 2
N Reflection: Feststellen ob eine Klasse abstract ist Allgemeine Java-Themen 3
B frage zu "file.renameTo()" bzw. abstract path allg Allgemeine Java-Themen 8
B Leere vererbte Interface-Methoden Allgemeine Java-Themen 8
OnDemand Interface imlementieren Allgemeine Java-Themen 4
Buroto Interface Allgemeine Java-Themen 2
T Komische Zeichen im Zusammenhang mit Serializable interface Allgemeine Java-Themen 13
M Kann man Annotationen auf Klassen einschränken die ein Interface implementieren? Allgemeine Java-Themen 1
H Kombination Interface und Abstrakte Klasse bei Generics Allgemeine Java-Themen 3
B JaxB und @XmlIDREF mit Interface Allgemeine Java-Themen 1
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
P Abstrakte Klassen vs. Interface Allgemeine Java-Themen 4
Kirby.exe Autocloseable Interface Allgemeine Java-Themen 2
T Abgeleitetes Interface public ohne Schlüsselwort "interface"? Allgemeine Java-Themen 3
S static in Interface und Klasse Allgemeine Java-Themen 2
S static methode im Interface Allgemeine Java-Themen 1
S Interface, generischer Datentyp, Exception? Allgemeine Java-Themen 3
B Vererbung Interface und implementierende Klassen Allgemeine Java-Themen 8
A Anonyme Klassen - Interface Allgemeine Java-Themen 5
C Ein Iterator ist eine Implementierung des Interface Iterable? Allgemeine Java-Themen 2
J Generische Interface - Problem Allgemeine Java-Themen 3
mrBrown Namensfindung Fluent-Interface Allgemeine Java-Themen 0
J Logik in Interface Allgemeine Java-Themen 2
N Best Practice Allgemeines Verhalten für ein Interface implementieren? Allgemeine Java-Themen 7
B eigenes Consumer Interface Allgemeine Java-Themen 0
S 2 methoden mit gleichen namen und ein Interface Allgemeine Java-Themen 9
N GUI Interface, swing Allgemeine Java-Themen 7
Thallius Konzeptproblem User-Interface Allgemeine Java-Themen 5
D generische Interface und konkrete Methode Allgemeine Java-Themen 3
C Klassen Problem mit Funktion einer Generischen Klasse die ein Interface implementiert Allgemeine Java-Themen 0
N Problem mit Generics und Interface Allgemeine Java-Themen 4
D Methode mit optionalen Parametern in Interface Allgemeine Java-Themen 3
T Interface mit generische Typen Allgemeine Java-Themen 5
M Interface einer Library implementieren Allgemeine Java-Themen 3
A Klassen ein Interface aufzwingen Allgemeine Java-Themen 4
Bananabert Interface Custom 'Event' mit Interface Allgemeine Java-Themen 10
J Interface Serializable Methodensignatur Allgemeine Java-Themen 2
J Interface Interface für Framework verwenden Allgemeine Java-Themen 4
F Interface IInterface oder Interface? Allgemeine Java-Themen 3
M Generics (bounded wildcards statt Interface Bezeichnern) -- Sinn oder Unsinn? Allgemeine Java-Themen 2
T Interface Probleme Allgemeine Java-Themen 8
M Queues und Queue Interface Allgemeine Java-Themen 3
I Mehrfaches Implementieren eines generischen Interface Allgemeine Java-Themen 9
W Java Native Interface und "mp3player" Allgemeine Java-Themen 3
M Über Liste verschiendene JComponents mit eigenem implementierten Interface ansprechen Allgemeine Java-Themen 7
P Eclipse Java Native Interface-Problem Allgemeine Java-Themen 8
Z Abstrakte Klassen /Interface Allgemeine Java-Themen 5
pg1337 Interface-Frage Allgemeine Java-Themen 24
S Interface Welchen Interface Stil favorisiert ihr? (usability) Allgemeine Java-Themen 17
faetzminator statische Variablen in Interface - Vererbung? Allgemeine Java-Themen 9
R Implementierung eines Interface durch 2 verschiedene Klassen Allgemeine Java-Themen 6
T OpenOffice Interface Elemente Ein/Ausblenden Allgemeine Java-Themen 5
K Interface Interface comparable machen Allgemeine Java-Themen 9
N Trick für Compilerfehler bei fehlendem Interface Allgemeine Java-Themen 12
X Interface - Klasse einladen Allgemeine Java-Themen 6
G Interface -> InterfaceImplementierung Allgemeine Java-Themen 3
Ark Array durch Interface ersetzen Allgemeine Java-Themen 7
R Interface instanzieren Allgemeine Java-Themen 8
B Frage zu Interface und List Allgemeine Java-Themen 4
KrokoDiehl JNI: native im Interface Allgemeine Java-Themen 4
S normale vererbung als interface Allgemeine Java-Themen 2
E Beispiel für ein möglichst einfaches Interface Allgemeine Java-Themen 22
S interface verbung problem Allgemeine Java-Themen 9
S problem programm mit interface: Allgemeine Java-Themen 3
B Interface und von Thread ableiten Allgemeine Java-Themen 6
R Interface Serializable technische Begrenzung Allgemeine Java-Themen 2
T Interface-Referenz Allgemeine Java-Themen 2
L interface abstrakte klasse Allgemeine Java-Themen 21
S Interface Geschäftslokik & GUI Allgemeine Java-Themen 6
G Interface zwischen 2 Programmierern Allgemeine Java-Themen 10
C Schnittstellen(interface) Allgemeine Java-Themen 9
N List<? implements "Interface"> geht nicht Allgemeine Java-Themen 13
D javadoc interface + implementation + @overrides Allgemeine Java-Themen 16
G Interface oder abstrakte Klasse Allgemeine Java-Themen 4
T Parameter einer Klasse auf Interface prüfen Allgemeine Java-Themen 6
A feststellen, welche Klassen ein Interface implementieren Allgemeine Java-Themen 3
G class, interface, or enum exp? Allgemeine Java-Themen 2
S Interface Klasse überladen. Allgemeine Java-Themen 2
K Inneres Interface äußere Klasse Allgemeine Java-Themen 7
T Frage zu interface und "guter Programmierstil" Allgemeine Java-Themen 4
T Interface "on-the-fly" implementieren? Allgemeine Java-Themen 3
S Frage zu Interface Allgemeine Java-Themen 7
J Objektorientiert - Interface & Klassen Allgemeine Java-Themen 3
G Interface - Klassen implementieren das - Reflection ok? Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben