Schnittstelle vs-Basisklasse

Wann sollte ich ein interface und Wann soll ich eine base-Klasse?

Sollte es immer eine Schnittstelle, wenn ich nicht wollen, um tatsächlich zu definieren, die eine Basis-Implementierung der Methoden?

Wenn ich einen Hund habe und Katzen-Klasse. Warum möchte ich zu implementieren IPet statt PetBase? Ich kann verstehen, dass Schnittstellen für ISheds oder IBarks (IMakesNoise?), weil diejenigen, die platziert werden kann auf einem pet von pet-basis, aber ich verstehe nicht, was für ein generisches Pet.

Nur ein Punkt, ich denke, Sie sollten berücksichtigen, - Schnittstellen haben kann, stellen einige Grenzen, die Sie möglicherweise nicht bewusst sein, bis in sehr späten Phasen. Zum Beispiel, mit .NET kann man nicht serialisieren eines interface-member-variable, also, wenn Sie einen Klasse Zoo und eine member-variable array von IAnimals Sie werden nicht in der Lage zu serialisieren Zoo (und das heißt schreiben, WebServices oder anderer Dinge, die eine Serialisierung würde ein Schmerz sein).
Diese Frage könnte helfen zu verstehen, Konzept der Schnittstellen. stackoverflow.com/q/8531292/1055241

InformationsquelleAutor |

Schreibe einen Kommentar