public class KleineKlasse implements SchnittstelleA { Körper der üblichen Klassendefinition }
Ja, die Klassendefinition ist korrekt. Ihr mögt Euch fragen, warum sie keine Basisklasse erweitert, aber das tut sie.
Wenn keine andere Klasse erweitert wird, dann ist Object
die Basisklasse.
KleineKlasse
erweitert Object
und implementiert die SchnittstelleA.
Wir werden ein Programm für ein Warenhaus erstellen. Das Warenhaus verkauft:
Goods
), wobei jede über die folgenden Attribute verfügt:
description
)price
)Food
(Lebensmittel) — mit dem Attribut calories
(Kalorien). Food
-Objekte sind nicht besteuerbar.Toy
(Spielwaren) — mit dem Attribut minimumAge
(Mindestalter). Toy
-Objekte sind besteuerbar (taxable
).Book
(Bücher) — mit dem Attribut author
(Autor). Book
-Objekte sind besteuerbar.Von diesen Waren sind Spielwaren und Bücher steuerpflichtig, aber Lebensmittel sind es nicht (Denkt daran, dass ist ein amerikanisches Beispiel). Es gibt viele andere Dinge, die steuerpflichtig sind, so wie Dienstleistungen oder Produkte der Unterhaltungsbranche. Daher wollen wir ein getrenntes Konzept "Besteuerbar" haben, das kein Teil des Konzepts "Waren" ist.
Das Konzept Taxable
(Besteuerbar) sieht folgendermaßen aus:
Taxable
-Artikel
TAXRATE
(Steuersatz) von 6 Prozent undcalculateTax()
Methode, um die Steuer zu berechnen.In Java implementiert werden diese Konzepte als eine Klassenhierarchie und eine Schnittstelle in Erscheinung treten.