Zitat von
Luckie:
Argumente sind:
Wiederverwendbarkeit
höhere Übersichtlichkeit
einfachheres Refactoring
verstecken von Funktionalität
Ich sehe dies genauso. Vor allem in größeren Projekten kann man dann Profit aus vorher geschaffenen Strukturen ziehen.
Wenn man nicht nur Daten von A nach B schieben muss sondern in einem größeren Projekt mit vielen Mitarbeitern zusammenarbeitet bemerkt man auch, dass die Komponenten-Strukur der Klassen die Zusammenarbeit erleichtert.
Ausserdem kann man sich in der Objektorientierung auf eine höhere logische Ebene begeben. Man macht nicht mehr etwas mit Daten, sondern man deligiert Aufgaben an Objekte, die Ihren eigenen Status kennen und die Aufgaben verrichten können.
Aber:
* Man muß mehr kommunizieren (Schnittstellen spezifizieren, modellieren, ..)
* Durch die benötigte Programm-Struktur wird die Programmierung komplexer (wer bräuchte sich sonst Gedanken über private, protected, override oder Vererbung zu machen)
* Die erforderliche Qualifikation der Mitarbeiter ist höher