naja das hat schon so einige vorteile...
zum einen ist das halt moderner

- und dadurch weiter verbreitet. es ist immer leichter mitarbeiter für ein projekt zu finden, wenn alle auf die selbe art programmieren...
zum anderen bringen objekte einfach vorteile mit, die man so sonst nicht hat.. als beispiel nehme ich mal das "auto beispiel"..
du kannst ein objekt "auto" erstellen. Da packst du alle eigenschaften (attribute) und Methoden (Funktionen) rein, die
jedes Auto hat. Mal ein Beispiel:
attribute
+ Türen
+ PS
+ Sprittverbrauch
methoden
+! GasGeben
+! Bremsen
+? GibGeschwindigkeit
dieses objekt hast du einmal definiert und kannst es so oft initialisieren wie du möchtest... und darüber hinaus kann man noch neue attribute etc an das neue objekt anbauen. und man kann halt eigenschaften und methoden vererben, in ein anderes objekt... das bringt arbeitsersparnis und macht den code übersichtlicher..
folgendes hab ich noch in einem forum gefunden:
Verwendung bereits vorhandener Software:
Klassendefinitionen für oft verwendete Sachverhalte können in Klassenbibliotheken hinterlegt werden. Durch einfaches Übernehmen wird die Softwareentwicklung stark vereinfacht. Man spricht hier von Softwareentwickling durch Reproduktion und Objektbeschreibungen.
als beispiel sei hier mal der begriff framework dahingestellt. frameworks wie zb "Zend Framework" sind im prinzip nur aus objekten zusammengebaut und diese objekte nutzt der softwareentwickler für sein eigenes projekt. das ist meiner meinung nach ein riesen zeit und arbeitsvorteil gegenüber jemanden, der seine anwendungen komplett selbst und mit prozeduralen code schreibt. mit einem framework kannst du ja sowohl die vorgefertigten objekte nutzen als auch neue erstellen oder halt zwischendurch noch prozeduralen code einbauen...
damit überwiegen die vorteile der oop schon gewaltig, vorallem wenn man noch ein framework hinzuzieht.