Bei Klassen gebe ich dir recht, bei Interfaces ist es imo etwas anderes.
Klar, bei Interfaces könnte man sich noch vorstellen, dass man 2 verschiedene Interfaces hat, die auch in Kombination vorkommen und man dann natürlich dieses als 1 Interface haben möchte. Läuft aber in meinen Augen dem
Single responsibility principle zuwider.
Und selbst wenn, worin läge der Vorteil eines IWalkAndFly Interfaces, was von IWalk und IFly ableitet, wenn ich in meiner Klasse sowohl IWalk als auch IFly implementieren kann und auch sogar die Möglichkeit habe eine IWalk Referenz zu fragen, ob sie auch nen IFly supportet?