Verständnisfrage zu Interfaces

Bitte aktiviere JavaScript!
Hallo liebe Javagemeinde,

ich habe eine Frage zur Vorgehensweise bei Interfaces.

Ich hätte für eine Aufgabe zwei Lösungsmöglichkeiten und
würde gerne wissen welcher Ansatz der Korrekte ist.

Ich versuche mir neue Dinge immer an einfachen Beispielen
klar zu machen.

Wenn ich ein Beispiel aus der Vererbung für Interfaces umbaue könnte
das so aussehen:

Beispiel Zylinder:

Ansatz über die Vererbung:

Ich nehme die Basisklasse Kreis mit der Eigenschaft radius und den
Methoden getFlaeche() und getUmfang() und erweitere diese um eine Höhe
und um die Methoden getVolumen() und getOberflaeche() zur Klasse Zylinder.

Mein Ansatz zum Verstehen der Interfaces

Ich mache ein Interface Geometrie2D mit den Methoden getFlaeche() und
getUmfang().
Ich mache ein Interface Geometrie3D mit den Methoden getVolumen() und
getOberflaeche().
Dann binde ich beide Interfaces in meine Klasse Zylinder ein und implementiere
alle Methoden.

Jetzt meine Frage:

Ist es geschickt oder kein guter Stil wenn ich das Interface Geometrie2D
an Geometrie3D vererben lasse? Dann müsste ich nur das Interface
Geometrie3D einbinden.

Oder total daneben?

Vielen Dank und viele liebe Grüße
tges
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Guten Morgen Javinner,

wenn ich das Beispiel für einen Zylinder durchspiele binde ich sowohl das Interface Geometrie2D und das
Interface Geometrie3D ein. Das macht für mich Sinn, denn ein Zylinder hat eine Grundfläche, Umfang, Oberfläche und
Volumen.
Spiele ich das Ganze nur für einen Kreis durch benötige ich nur das Interface Geometrie2D. Also Grundfläche und Umfang.

Viele Grüße
tges
 
Die Frage, die ich mir stelle: Hat denn jedes 3D Objekt diese Geometrie2D Dinge?
a) Ist denn wirklich festgelegt, wie das Objekt zu betrachten ist? Beispiel: Quader. Wenn mein Quader jetzt Geometrie2D implementiert: Welche Fläche gebe ich als Grundfläche aus? So Quader nur den Quader selbst beschreibt und nicht die Ausrichtung, dann hat man keine Grundfläche. Oder wenn die Ausrichtung mit erfasst ist: Er steht auf einer Ecke. Was ist dann die Grundfläche?
b) Nehmen wir eine Kugel - was ist denn da die Fläche? Oder ist da dann Fläche = Oberfläche? Und was ist der Umfang? Ok, da kann man noch etwas nehmen, aber dann verformen wir die Kugel so dass wir von mir aus ein Ellipsoid haben: Was ist da jetzt der Umfang?
 
Das sehe ich genauso.

Ich würde die Variante: Binde jeweils das Interface das Du benötigst ein vor der Variante: Interface Geometrie3D erbt con
Geometrie2D vorziehen.

Vielen Dank für die Rückmeldungen und viele Grüße
tges
 
Nehmen wir eine Kugel - was ist denn da die Fläche? Oder ist da dann Fläche = Oberfläche? Und was ist der Umfang? Ok, da kann man noch etwas nehmen, aber dann verformen wir die Kugel so dass wir von mir aus ein Ellipsoid haben: Was ist da jetzt der Umfang?
Danke, endlich wird mir klar, warum der Body Mass Index eingeführt wurde :)
 
@tges
Ein Kreis hat
  • Radius
  • Fläche
  • Umfang
Ein Zylinder hat
  • ein Kreis
  • die Höhe
Zweidimensionale Objekte sollten den 2D-Bereich abdecken, Dreidimensionale Objekte könnten zweidimensionale Objekte als Instanzen erhalten und es entsprechend erweitern. Nun beantworte dir die Frage selbst:
  • Welches Objekt (2D oder 3D) soll über welche Methoden verfügen?
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben