Wenn ich das bisher richtig verstehe geht es bei Interfaces quasi vordergrundig um die Komprimierung des Codes.
Eigentlich überhaupt nicht.
Interfaces und somit
OOP stehen für ein Paradigma, dass Wartbarkeit und Erweiterbarkeit, sowie Architektur von Software im Fokus hat.
Siehe z.b.:
http://openbook.rheinwerk-verlag.de/oop/
Das ist kein Thema, dass man mal eben in 30 Minuten vollständig erfassen kann.
Mir kommt es in diesem Thread eh so vor, als ob man beim Begriff Interface(im Sinne von
OOP), nicht von der selben Definition ausgeht.
Der eine spricht von
DLL's oder einer anderen Schnittstellentechnik, der andere missbraucht Interfaces für die sogenannte Mehrfachvererbung.
Siehe dazu vielleicht:
https://de.wikipedia.org/wiki/Schnit...schnittstellen
Vielleicht liegt das an der Geschichte von Pascal/Object-Pascal(als ehemals imperative Programmiersprache) und die stete Bindung an die
DLL-Hell. Java sowie C# machen ja eigentlich sehr schnell verständlich, was und wofür Interfaces eingesetzt werden.
C++, ich glaube auch Perl und Phyton, sind momentan die einzigen populären Sprachen, die auf Mehrfachvererbung setzen. Es gibt Gründe dafür und auch gute Gründen dagegen. Das muss dann jeder für sich ausmachen. Ich bin da persönlich sehr zufrieden, dass Mehrfachvererbung in Java, C# und Delphi nicht möglich ist. Die Architektur einer Software ist schon kompliziert genug.