Interfaces Abstrakte Klassen

javalui

Aktives Mitglied
Hallo Javafreunde,

ich habe jetzt seit langem nichts mehr mit java gemacht und wollte daher die Grundlagen alle nochmal ansehen. Da ich schon immer ein Problem mit Interfaces und Abstrakten Klassen hatte möchte ich sie diesmal 100% verstanden haben.
Ich weis noch, dass ich während meiner Studienzeit einmal eine Aufgabe erhalten habe die wie folgt aussah:

Pizza

Böden:
• Normal
• Cheesy
• Crunchy
• ...

Beläge:
• Salami (scharf)
• Käse
• Schinken
• Chilli (scharf)
• Mais
• ...

Eine Pizza ist Vegetarisch solange kein Fleisch verwendet wurde.
Eine Pizza ist nicht schaft bis 2 scharfe Zutaten verwendet wurden.

Kann mir jemand anhand dieser Aufgabe vielleicht erklären wie ich hier die Klassenstruktur aufbauen sollte?

Grüße
Javalui
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Interface IstScharf, Interface IstFleisch
Klasse Pizza
Abstrakte Klasse(oder Interface) Boden, Abstrakte Klasse (oder Interface) Belag
Jeder implementierte Belag bekommt unter Umständen noch das IstScharf oder IstFleisch Interface.
 

Fant

Bekanntes Mitglied
Da sollte gar keine Variable drin stehen in dem Interface. Ein (leeres) Marker-Interfaces ist hier vollkommen ausreichend.
 

javalui

Aktives Mitglied
Und was würde ich machen wenn ich jetzt auch den Preis berücksichtigen möchte.

Pizza hat einen gesamtpreis der sich aus Boden und den Belägen zusammensetzt.
???
 

Fant

Bekanntes Mitglied
Dann sollten deine (abstrakten) Klassen (oder Interfaces) für den Boden und den Beleg jeweils ein Attribut Preis bereitstellen...
 
1

15 Zeichen

Gast
Marker Interfaces sind Blödsinn. Wie willst du feststellen ob die Pizza scharf ist oder nicht? Mit instanceof die Beläge prüfen?

Wenn sich Gesamtpreis aus den Einzelpreisen zusammensetzt ist Preis halt auch eine Eignschaft von Boden und Belag, oder nicht?
 

javalui

Aktives Mitglied
Würde es nicht Sinn machen eine Klasse "Zutaten" anzulegen die dann Preis scharf und vegetarisch enthält von den dann böden und zutaten abgeleitet werden?
 

Fant

Bekanntes Mitglied
Das kannst du auch machen. Beim Preis ist das auch auf jeden Fall sinnvoll ihn über eine gemeinsame Schnittstelle bereitzustellen. Ob du für scharf und vegetarisch nun boolean-Variablen reservierst oder Interfaces benutzt ist eigentlich egal. Zu Übungszwecken (und darum geht es dir ja gerade) finde ich hier aber die zweite Variante schöner.
 

javalui

Aktives Mitglied
Das heißt:

Klasse Pizza
Hat Preis
Hat Liste mit Zutaten

Klasse Zutaten
Hat Preis (Getter und Setter)

Interface IstScharf
Interface IstFleisch

Interface Boden

Normal extends Zutaten implements Boden
Crunchy extends Zutaten implements Boden
...

Interface Belag

Käse extends Zutaten implements Belag
Chili extends Zutaten implements Belag, IstScharf
Schinken extends Zutaten implements Belag, IstFleisch
Salami extends Zutaten implements Belag, IstFleisch, IstScharf

In etwa so?
 
G

Gast2

Gast
Kann man machen. Die Preisberechnung lässt sich ohne Interfaces vermutlich etwas schöner berechnen, aber es ist ja ne Interface Übung ;)
 

Fant

Bekanntes Mitglied
Die Klasse Pizza sollte sinnvoller weise ein Attribut Boden und eine Liste von Belägen als Attribute haben, statt einer Liste von Zutaten. Sonst könntest du deine Pizza auch mit Pizzaböden belegen ;)
 
G

Gast2

Gast
Ganz simpel vielleicht so:

Klasse Pizza
- grundpreis : double
- boden : Boden
- belaege : List<Belag>
+ calculatePrice() : double

Klasse Boden
- type : TYP enum
- zusatzkosten : double

Klasse Belag
- name : String
- istScharf : boolean
- istFleisch : boolean
- zusatzkosten : double
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
D Interface Interfaces und abstrakte Klassen implementieren Java Basics - Anfänger-Themen 4
V Interface Interfaces und abstrakte Klassen Java Basics - Anfänger-Themen 3
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
M abstrakte klassen und interfaces Java Basics - Anfänger-Themen 2
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
T Abstrakte Klasse und Interfaces Java Basics - Anfänger-Themen 12
D Interfaces von Interfaces macht das noch Sinn? Java Basics - Anfänger-Themen 21
M Wozu dient Interfaces? Java Basics - Anfänger-Themen 6
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
M Interfaces Aufgabe Java Basics - Anfänger-Themen 2
I JSON / XML Struktur mit Vererbung / Interfaces Java Basics - Anfänger-Themen 0
I XML und Interfaces aus anderen Projekten Java Basics - Anfänger-Themen 3
8u3631984 Record - Interfaces Java Basics - Anfänger-Themen 4
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
H Sinn von Interfaces Java Basics - Anfänger-Themen 21
B JaxB und Interfaces? Java Basics - Anfänger-Themen 2
M Funktionale Interfaces Java Basics - Anfänger-Themen 3
Kirby.exe Frage zur Verwendung von Interfaces Java Basics - Anfänger-Themen 6
H Frage zu interfaces Java Basics - Anfänger-Themen 1
J Zweck von Interfaces immer noch nicht klar Java Basics - Anfänger-Themen 3
M Klasse erbt von Interfaces Java Basics - Anfänger-Themen 6
T Interfaces in erbenden Klassen Java Basics - Anfänger-Themen 2
H Polymorphie Interfaces und statischer Typ Java Basics - Anfänger-Themen 33
T Verständnisfrage zu Interfaces Java Basics - Anfänger-Themen 7
F Exceptions in Interfaces Java Basics - Anfänger-Themen 4
F Interface Warum Interfaces? Java Basics - Anfänger-Themen 5
R interfaces Java Basics - Anfänger-Themen 1
B Interfaces Java Basics - Anfänger-Themen 6
A Vererbung/Interfaces/Generics Java Basics - Anfänger-Themen 12
D Interface Wieso Aufruf aller Methoden eines Interfaces? Java Basics - Anfänger-Themen 11
J Interfaces? Java Basics - Anfänger-Themen 32
M Erstellung Interfaces....totale Anfängerfrage Java Basics - Anfänger-Themen 16
S Erste Schritte Innere Klassen und Interfaces Java Basics - Anfänger-Themen 2
J Wofür dienen Interfaces ? Java Basics - Anfänger-Themen 1
Hijo2006 Frage zu Interfaces Java Basics - Anfänger-Themen 21
Hacer Interfaces implementieren Java Basics - Anfänger-Themen 7
H Implementierung eines Interfaces erweitern Java Basics - Anfänger-Themen 13
L Via Interfaces unterschiedliche Klassen ansprechen Java Basics - Anfänger-Themen 8
A Verwendung von Interfaces Java Basics - Anfänger-Themen 7
J Interfaces Java Basics - Anfänger-Themen 15
D Frage bzgl. Interfaces Java Basics - Anfänger-Themen 10
D Interface Verständnisprobleme von Interfaces Java Basics - Anfänger-Themen 5
S Rollen verändern, Interfaces austauschen wie? Java Basics - Anfänger-Themen 10
K Interfaces/Klassen etc. Java Basics - Anfänger-Themen 6
F Implementierung von Interfaces -> Problem mit main Java Basics - Anfänger-Themen 12
S Verständnisproblem bei Interfaces Java Basics - Anfänger-Themen 6
I Interface Verständnisfrage Interfaces (Bsp.: Enumeration) Java Basics - Anfänger-Themen 2
M Frage zu Generics in Klassen, Abstrakten Klassen und Interfaces Java Basics - Anfänger-Themen 5
O Java Interfaces für andere Programmiersprachen zur Verfuegung stellen? Java Basics - Anfänger-Themen 2
K Interface Generics, Interfaces und Listen - ich bin verwirrt. Java Basics - Anfänger-Themen 7
G Instanzen eines Interfaces erzeugen Java Basics - Anfänger-Themen 7
M Compiler-Fehler Alle Methoden eines Interfaces Implementiert dennoch Fehler Java Basics - Anfänger-Themen 3
F Best Practice UML/Planung eines Projektes (Klassen, Interfaces, ...) Java Basics - Anfänger-Themen 0
V Vererbung Vererbung, Interfaces und OOP... Java Basics - Anfänger-Themen 10
C Sinn eines Interfaces? Java Basics - Anfänger-Themen 4
A Interface Poymorphismus bei Interfaces Java Basics - Anfänger-Themen 2
Pentalon Eclipse JUNO keine Vorschläge von Methoden bzw. Interfaces der eigenen Klassen Java Basics - Anfänger-Themen 5
R Mehrere Interfaces(Comparable, ...) Java Basics - Anfänger-Themen 2
D Interfaces und allgemeingültige Methodenaufrufe Java Basics - Anfänger-Themen 6
H Erste Schritte 2 User Interfaces für eine Anwendung Java Basics - Anfänger-Themen 7
S OOP Wann Proxies und Interfaces? Java Basics - Anfänger-Themen 3
M Interface @Inject mit Interfaces? Java Basics - Anfänger-Themen 2
F Interface Unterschied von Attributen und Methoden bei abstrakten Klassen und Interfaces Java Basics - Anfänger-Themen 5
V mehrfachvererbung unter interfaces Java Basics - Anfänger-Themen 10
J Interface Wie funktioniert das mit den Interfaces. Ich verstehe es einfach nicht! :( Java Basics - Anfänger-Themen 15
T Interfaces und Implementierungen Java Basics - Anfänger-Themen 12
S Interface mehrere Interfaces Java Basics - Anfänger-Themen 2
M Vererbung Problem bei Interfaces Java Basics - Anfänger-Themen 8
H Dynamische Bindung mit Interfaces und LinkedList Java Basics - Anfänger-Themen 7
F Interfaces Java Basics - Anfänger-Themen 4
M Frage zu Interfaces Java Basics - Anfänger-Themen 3
N Generics und Interfaces Java Basics - Anfänger-Themen 5
P OOP Aufruf eines Interfaces Java Basics - Anfänger-Themen 4
N OOP Vererbung von Interfaces Java Basics - Anfänger-Themen 12
S Verständnisfrage zu Interfaces Java Basics - Anfänger-Themen 2
D Sinn von Interfaces - Wozu? Java Basics - Anfänger-Themen 9
P Frage zu Interfaces Bsp. Java Basics - Anfänger-Themen 9
A Deklarationen in abstrakten Klassen und Interfaces Java Basics - Anfänger-Themen 11
R Adapterklassen vs Interfaces Java Basics - Anfänger-Themen 6
P Interfaces -> eins oder mehrere für eine Anwendung? Java Basics - Anfänger-Themen 9
2 Interfaces, Polymorphie und Methoden. Java Basics - Anfänger-Themen 14
A Obstlager Interfaces Java Basics - Anfänger-Themen 7
K Theor. Frage zu Interfaces Java Basics - Anfänger-Themen 30
T Frage zu Interfaces und Abstrakten Klassen Java Basics - Anfänger-Themen 4
J Interfaces Java Basics - Anfänger-Themen 14
L Interfaces Java Basics - Anfänger-Themen 5
J spiel "Gefangenendilemma" Probleme mit Interfaces Java Basics - Anfänger-Themen 8
H Interfaces in java? Java Basics - Anfänger-Themen 2
A OOP Interfaces mit gleichem Methoden Java Basics - Anfänger-Themen 15
S Implementierung gegen Interfaces / List, ArrayList, LinkedList Java Basics - Anfänger-Themen 11
D Interfaces / Schnittstellen Java Basics - Anfänger-Themen 8
I Probleme mit Interfaces Java Basics - Anfänger-Themen 4
K Interfaces "Schreibaufwand" Java Basics - Anfänger-Themen 53
I Interfaces Java Basics - Anfänger-Themen 34
bigbasti Warum genau braucht man Interfaces? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben