Best Practices für abstrakte Klassen und Schnittstellen in Java

Sie haben also eine Schnittstelle und eine abstrakte Klasse, die eine Teilmenge der Methoden in der Schnittstelle implementiert. Sie haben auch einige Klassen, die die abstrakte Klasse erben und Implementierungen der Methoden angeben, die die abstrakte Klasse nicht gibt.

Was ist hier die beste Vorgehensweise? Ich spreche über Themen wie:

1) Sollte die abstrakte Klasse die Schnittstelle implementieren oder sollten ihre Kindklassen? Sollte jede Klasse? Es scheint mir, dass nur die abstrakte Klasse sollte. Natürlich könnten alle Klassen die Schnittstelle implementieren, aber das scheint überflüssig zu sein, da die Kinder der abstrakten Klasse die Schnittstelle "erben", weil sie die abstrakte Klasse erweitern.

2) Sollte die abstrakte Klasse angesichts der Tatsache, dass sie Teile der Schnittstelle implementiert, auch abstrakte Methoden für die Methoden deklarieren, die sie nicht implementiert? Es scheint mir, dass dies richtig ist, aber in gewisser Weise scheint dies überflüssig zu sein, da die Kinder der Zusammenfassung diese Methoden implementieren müssen, um zu kompilieren.

Was sind Ihre Argumente für die beste Vorgehensweise? Die Frage lautet: Wir haben eine Schnittstelle, die definiert, was einige Klassen tun sollen, wir haben eine Teilmenge der Methoden in der Schnittstelle, die das allgemeine Verhalten definieren, und wir haben verschiedene Möglichkeiten zu definieren das ungewöhnliche Verhalten. Wie kann man das am besten auslegen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage