hi,
in der konservativen informatik wird ein problem in immer kleinere teilprobleme zerlegt bis es nicht mehr kleiner geht. dann wird jedes teilproblem gelöst, so daß letzlich das gesamte problem gelöst wird.
das könnte man mit einem auto (problem) und einem fahrschüler (programmierer) vergleichen:
der fahrschüler wird die funktion seines autos bis ins detail aufschlüsseln - incl. funktionsweise des motors, physikalische eigenschaften der lenksäule, leuchtraft der blinker, chemischer zusammensetzung des öls, uswusf…
und erst wenn er das _alles_ verstanden hat (zerlegung in teilprobleme) fährt er los…
die objektorientierte methode geht einen anderen weg. sie betrachtet teilprobleme als in sich geschlossene einheiten, die selbsttätig agieren können. der programmierer breucht nur die schnittstellen zu kennen - um die funktionsweise kümmert er sich nicht.
unser oop-autofahrer weiß:
dat isse 'ne lenkrad. zeigt es nach links rollt das auto auch dahin.
den motor starte ich mit dem schlüssel und blinken tut der bliner…
_wie_ motor, blinker und lenkung funktionieren ist nicht von interesse.
in der oop hat man ein objekt welches eigenschaften und methoden hat.
zB. ein objekt zum anzeigen eines textes.
es hat eine eigenschaft (den text) und eine methode zum anzeigen (oder verstecken).
in oop sagst du jetzt einfach
objekt.text = ‚dies ist ein text‘
wie und wo das objekt den text speichert interessiert dich nicht
objekt.anzeigen
jetzt wird der text auf dem bildschirm angezeigt - wie? juckt dich nicht
objekt.verstecken
der text verschwindet - wie? mir doch wurscht
…
der ansatz in oop ist der, daß das objekt selber funktionen ausführen kann ohne das der programmierer dies vorgeben muß.
damit lehnt sich oop eng an unsere erfahrungswelt an, da wir umgeben sind von gegenständen (objekten) die wir permanent benutzen ohne zu wissen wie sie funktionieren. ich kenne nur die bedienungselemente (methoden) um das gerät zum funktionieren zu bringen, ncht aber die funktionsweise selbst.
ich hoffe, es hat etwas geholfen
CU, DiJey