Interface als Datentyp eines Attributes?

Hallo liebe Java-Profies,

ich hab eine Frage zu java Interfaces

Ich soll ein Klassendiagramm zeichnen und es werden in dieser Aufgabe verschiedene Klassen angedeutet.

Das sieht ungefähr so aus
Code:
public interface DataService{
}

public class Irgendwas implements DataService{
    private DBService aDBService
}

public interface DBService{
}

Ich verstehe das mit diesem Attribut aDBService nicht. Ist das auch eine Form der Schnittstellen-Impementierung?

LG
Christina
 
Ich weiß nicht, wie ich das im UML Klassendiagramm darstellen soll ... Ist DBService jetzt einfach eine Schnittstelle von der Klasse Irgendwas ähnlich der, die man mit implements implementiert? Oder muss ich eher sowas wie eine Assoziation für die Darstellung im Klassendiagramm nehmen und das Interface wie eine normale Klasse sehen? Es ist ja in dem Sinne nicht implementiert, sondern steht als Attribut in der Klasse Irgendwas.

Grüße
Christina
 
Zuletzt bearbeitet:
Ist DBService jetzt eine Schnittstelle von der Klasse Irgendwas?
Nein.
Oder muss ich eher sowas wie eine Komposition nehmen oder eine Aggregation?
Genau. Allgemein eher eine Aggregation.
Wäre dir klar, wie das UML Diagram aussehen würde, wenn es sich bei DBService um eine konkrete Implementierung handeln würde? Und wenn DBService abstrakt wäre? Aus Sicht von "Irgendwas" ist das zunächst einmal egal.
 
Danke ... ja ... wie ich die Implementierung darstellen muss, weiß ich. Ich war bloß irritiert, weil ich nicht wusste, wie ich das Interface zu deuten habe ... Abstrakt ?... Ich glaube, das schreibt man dann in die Klassenbox oben rein ... <<abstract>>.
 
Nehm ich das mal auseinander.
DataService ist eine Interface.
Irgendwas eine das Interface DataService implementierende Klasse.
DBService ein zweites Interface.

Als Diagramm schaut es so:
Untitled Diagram.png

DBService steht noch in keiner Beziehung.

Ja für abstrakte Klasse schreibst du möglicherweise <<abstract>> drüber (habe das jetzt bei draw.io nicht gefunden).

Gegenfrage: Was ist gegeben, was ist gesucht? Text, Code, Diagramm? Das ist bis jetzt noch nicht hervorgegangen.

Text ist eine Beschreibung des Systems, Code ist eine Beschreibung des Systems... usw. usf

Des weiteren.... Wenn DataService nicht implementiert ist, dann möglicherweise Komposition oder Aggregation wie @stg schreibt.

Die Hitze steigt mir heut zu Kop 😱
 

Neue Themen


Zurück
Oben