Frage zur Objektorientierung mit Interfaces

DennisXX

Bekanntes Mitglied
Hi Folks !

Ich habe mal eine Frage. Gehen wir davon aus, dass ich eine Klasse habe und das diese Klasse einerseits eine Schnittstelle anbieten muss und andererseits eine andere Schnittstelle benötigt wird.

Wie genau kann ich so etwas ausprogrammieren, also in konkreten Java Code umsetzen? Ich kann mir dafür nur schwer ein konkretes Codebeispiel vorstellen. Ich kenne diese Art Softwareentwurf bisher nur in Form der UML (also das eine Komponente mittels der Lollipop-Notation eine Schnittstelle konkret anbietet und diese Komponente auch eine Schnittstelle benötigt).

Kann vielleicht jemand ein konkretes Codebeispiel posten? Die beiden in Frage kommenden UML Diagramme habe ich im Anhang zur Verfügung gestellt.

Wie genau gestaltet sich der Programmcode, wenn eine Schnittstelle z.B. von einer Komponente angeboten wird und von einer anderen Komponente gebraucht wird?

Worauf ich hinaus möchte ist, dass ich wissen möchte, wie solche Klassen oder Komponenten bzw. deren Konstruktoren aussehen können, wenn sie zwingend für ihre Ausführung bzw. Instanziierung ein bestimmtes Interface benötigen. Eben genau so, wie es in dem UML Diagrammen mit einer offenen "Kralle" dargestellt ist.

Greetz
Dennis
 

Anhänge

  • uml_bsp_nr_2.gif
    uml_bsp_nr_2.gif
    7,4 KB · Aufrufe: 45

ARadauer

Top Contributor
Zum Beispiel so

Java:
public class HotelRes implements IHotelRes {	
	private final IBilling billing;
	
	public HotelRes(IBilling billing){
		this.billing = billing;
	}
	
	...
}
HotelRes implementiert das Interface IHotelRes.. bietet es also an. Braucht aber selber etwas um zu fakturieren. IBilling Dieser abhängiger Service muss in diesem Fall über den Konstruktor übergeben werden..
 

DennisXX

Bekanntes Mitglied
Hi Folks !

Danke schön für das Codebeispiel. In dem Konstruktor wird dann einfach nur ein Objekt übergeben, welches das Interface IBilling implementiert, richtig?

Wie genau würde denn der Code aussehen, wenn ich keine Klasse HotelRes hätte, sondern stattdessen einen Komponente, die evtl. aus mehreren Klassen besteht?

Danke schön für die Hilfe und Antwort !

Greetz
Dennis
 
S

SlaterB

Gast
das ausgehende Interface einer 'Komponente' ist die abstrakte Zusammenfassung aller öffentlichen Interface dieser Klassen, oder evtl. nur einer Klasse (IHolidayRes),
all die Klassen in der 'Komponente' benötigten andere Klassen wie bei HolidayReservationSession mindesens 3 eingemalt (der weitere Anhang vielleicht auch,
wann das wo konkret stattfindet ist nicht gesagt, verschiedene Klassen können verschiedene Interface brauchen, manche keine, manche mehrere,
im Konstruktor 0-x Parameter, vielleicht aber auch nur Parameter für einzelne Methoden

HolidayReservationSession braucht sicher kein einzelnes IBilling-Objekt, kein einzelnes 'Interface-Ding', mit dem dauerhaft gearbeitet wird,
aber wenn ein Vorgang durchlaufen wird, dann ist da auch ein bestimmtes IBilling-Objekt beteiligt,
alles ganz normale Dinge die in jedem Programm auf natürliche Weise ablaufen, auch bevor so eine Spielerei wie UML erfunden wurde
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
kann man so lesen, ja ;)
mir sind alle Extras wie Annotations, Debugger, Design-Pattern, UML, Frameworks usw. grundsätzlich egal,
aber wenn man dann anfängt, normale Java-Grundlagen durcheinanderzudrehen/ zu vergessen/ (auf ungünstige Weise) zu hinterfragen/ neu in Form pressen zu wollen usw. dann stören sie mehr als dass sie helfen
 

RySa

Bekanntes Mitglied
Ok vielen Dank slater für die Antwort !!



Lese ich hier heraus, dass Du kein Freund der UML bist?

Greetz
Dennis

Ich würde eher sagen, dass keiner der außerhalb der Schule/des Studiums programmiert (Arbeit oder Hobby) nicht einmal daran denken würde sich mit so etwas wie UML zu beschäftigen. Ich glaube da kannst du jeden hier auf diesem Forum fragen und er wird das gleiche sagen. So etwas kann man sich höchstens automatisch generieren lassen, wenn das Programm fertig ist (z.B für die Doku, um die Struktur zu beschreiben) aber sonst ist es nur Schwachsinn.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C SOLID Single Responsibility Priciple Frage Softwareentwicklung 2
K Frage OOP Softwareentwicklung 8
dgtKotlin Frage zu Kotlin source code Softwareentwicklung 5
A Frage zu testdriven developement Softwareentwicklung 1
H Regex Frage Softwareentwicklung 2
D Frage Schichtenarchitektur Softwareentwicklung 3
T Frage bezüglich MVC Softwareentwicklung 1
Shams Frage wegen guava-Eventbus. Softwareentwicklung 0
B Frage zu Schnittstellen (lose Kopplung) Softwareentwicklung 5
H Frage zur Stanford NLP-API Softwareentwicklung 2
E Frage zu Dekorator-Pattern Softwareentwicklung 2
O Frage zu Regulärer Ausdruck Softwareentwicklung 3
H WEKA - Frage zu Methode in Evaluation Softwareentwicklung 2
S Frage zu Zusicherungen: Softwareentwicklung 12
D Frage zu String Algorithmen / String Metric Softwareentwicklung 7
Airwolf89 Theoretische Frage - In Java Java-Programme schreiben Softwareentwicklung 5
B Theoretische Informatik Frage zu Formalismus RegExp Softwareentwicklung 12
Wepster LGPL, MPL Frage Softwareentwicklung 3
D Frage zur Benutzeroberflächenprogrammierung Softwareentwicklung 8
D Frage zu Klassendiagramm und Konstruktor (UML) Softwareentwicklung 3
M [OOP] Frage zu Methode-Namen / Funktionsweise Softwareentwicklung 9
P Frage zu Processing Softwareentwicklung 9
S Regex Frage Softwareentwicklung 4
D Frage zu meiner Vorgehensweise in einem Projekt Softwareentwicklung 5
A Frage zu GPL Softwareentwicklung 3
K Frage zu UML Aktivitätsdiagramm Softwareentwicklung 3
J Frage zu Lizenzrechten Softwareentwicklung 5
B bash frage Softwareentwicklung 6
F allgemeine exe frage Softwareentwicklung 10
G Frage zur LGPL? Softwareentwicklung 5
0x7F800000 "Wozu ist denn CSS / CSS2 gut" Dumme Frage? Softwareentwicklung 9
G Frage zur UML Softwareentwicklung 2
B Ajax Frage Softwareentwicklung 2
J Frage zu Relation Softwareentwicklung 2
W Frage zu a)Innere Klassen und b)OO Design Softwareentwicklung 13
G MVC Frage Softwareentwicklung 4
P Frage zu Prolog! Softwareentwicklung 7
E Frage zu Excel und Filtern Softwareentwicklung 4
Y OpenGL/C Frage - externe Funktionen Softwareentwicklung 5
G C# Frage Softwareentwicklung 12
T SQL, Feld mehrmals abfragen, IN Frage Softwareentwicklung 3
C Grundsätzliche Frage zur OOP bzw. zum MVC Softwareentwicklung 5
RaoulDuke Frage zu Datenmodel / Zugriff Softwareentwicklung 5
J Frage zu C Softwareentwicklung 2
H Frage ueber Prototype Pattern? Softwareentwicklung 2
L Noch 'ne Perl-Frage. Kehre dann auch reumütig zu Java zurück Softwareentwicklung 10
S Design-Frage: Wie viele Fassaden? Softwareentwicklung 4
J Frage zu MVC, Swing, Gui Softwareentwicklung 3
L Frage zu Beziehungen zwischen Klassen und UML Softwareentwicklung 10
T Frage zu Mysql Softwareentwicklung 3
C Mysql-Frage(Problem mit nicht durchgeführten Zugriff) Softwareentwicklung 5
J Softwareentwicklung ohne Objektorientierung - Wie geht das? Softwareentwicklung 10
W Verhalten über Interfaces ergänzen Softwareentwicklung 11
P [UML] Interface Implemetierung, bei externen Interfaces Softwareentwicklung 4
V alle abgeleiten Klassen eines Interfaces finden? Softwareentwicklung 2

Ähnliche Java Themen

Neue Themen


Oben