Ich benutze Interfaces/abstrakte Basisklassen für die meisten meiner Typen und erben nicht oft von konkreten Klassen, aber ich bin kürzlich in eine Situation geraten, in der entweder Vererbung oder Komposition gewünscht wird. Ich war mir des Sprichwortes "Programm zu einer Schnittstelle, keine Implementierung" bewusst, entschied mich aber kürzlich, tiefer zu graben.Ist die Vererbung von konkreten Klassen böse?
Ich habe Argumente gesehen againstinheritance, und ich habe gesehen Zähler arguments aber ich bin neugierig, was andere Maintainer von großen Codebasen tun tatsächlich im wirklichen Leben. Ist die Angst übertrieben? Erben Sie von konkreten Klassen oder sind die Vererbungsskeptiker korrekt? Ich bin besonders daran interessiert, von den Leuten zu hören, die in C++ arbeiten.
Weitere Details würden helfen. Das ist grenzwertig keine echte Frage. – Potatoswatter
Nein, es ist nicht böse. Es ist nur, dass es oft nicht das Richtige ist. Ohne weitere Details ist es schwierig, Ihren Fall zu beurteilen. – jcoder
Vererbung ist ein Werkzeug, es ist nicht von Natur aus gut oder böse - es hängt davon ab, wie es verwendet wird. –