Warum sind Schnittstellen bevorzugt abstrakte Klassen?

Ich nahm vor kurzem an ein Gespräch und Sie bat mich, die Frage "Warum sind Schnittstellen bevorzugt über Abstrakte Klassen?"

Ich habe versucht, ein paar Antworten wie:

  • Wir können nur eine Erweitert die Funktionalität
  • Sie sind zu 100% Abstrakt
  • Umsetzung ist nicht hart codiert

Fragten Sie mich, nehmen Sie eine der JDBC-api, die Sie verwenden. "Warum sind Sie Schnittstellen?".

Bekomme ich eine bessere Antwort dafür?

  • Ich bin mir fast sicher, ich habe gesehen die Frage, wie dies vor, aber nicht einmal Google finden können. Vielleicht ist mein Geist spielen tricks auf mich wieder.
  • Hinweis: bearbeitete ich den Titel für das Lehramt an Gymnasien; ich verließ den Körper, da es zu sein scheint, Zitate, und vielleicht Taten Sie es sagen mögen.
  • Dies ist eine Fangfrage, da nimmt es eine position zu dem Thema und gibt keinen Kontext, in dem es "kann" gelten. Ich Stimme mit devinb auf diese ein. Sie sind beide tools - verwenden Sie diese entsprechend. Zu viele Antworten hier rechtfertigen die Frage...das kann akzeptabel sein, wenn Sie wirklich wollen den job.
  • Rechtfertigen Sie sich nicht die Frage mit einer Antwort. Das ist nicht das, was Sie sind (naja, sollte) suchen. Zeigen Sie, dass Sie wissen, was Sie reden, und den job tun können. Wenn Sie es sich lohnt zu arbeiten, Sie sind nicht auf der Suche nach einem Papagei.
  • Siehe mein vollständiger Kommentar unten .. aber immer wenn ich eine Antwort bekommen wie du, der Kandidat bekommt ein eiskaltes "Dankeschön-für-Ihre-Zeit". Die Antwort zeigt keine Tiefe des Verstehens.
  • Starten schreiben von testcases oder gehen die TDD-route, und Sie werden feststellen, dass das schreiben von testcases, ist weitaus einfacher, wenn die Verwendung von Schnittstellen. Es ermöglicht Ihnen, zu verspotten alles, was Sie nicht brauchen testcase.
  • mögliche Duplikate von > Interface vs Abstrakte Klasse (allgemein OO)
  • Möglich, Duplikat der Wann verwendet man ein interface statt einer abstrakten Klasse und Umgekehrt?

InformationsquelleAutor Techmaddy | 2009-03-12
Schreibe einen Kommentar