Man kann auch Taschenrechner programmieren die nicht objektorientiert sind....
Alles über die OOP ist hier nachzulesen:
http://de.wikipedia.org/wiki/O…rientierte_Programmierung
Wenn du ganz kleine Programme schreibst ist es nicht so wichtig ob es objektorientiert ist. Bei komplexen Programmen wie u.a. Games ist es sehr wichtig auf die OOP zu achten.
So könntest du bei einem Game z.B. die Klasse "Auto" haben.
Diese Klasse besitzt Objekte. Da Objekte alleine aber ziemlich leblos sind wie z.B. ein Stein, gibt es Eigenschaften und Methoden.
Ein Auto hat die Eigenschaft zu fahren. Die Eigenschaft beinhaltet die Methoden zu starten, beschleunigen, bremsen, lenken,....
Wenn du jetzt also viele Autos in der Klasse "Auto" definierst, so wirst du schnell viele neue Eigenschaften und Methoden für jedes Auto selber deklarieren.
Damit du aber nicht jedem Auto die selben Eigenschaften und Methoden per C&P geben musst, kannst du das alles vom Mutterobjekt, oder sonstigem Auto welches dem anderen ähnelt, erben um dann nurnoch die Autospezifischen Sachen dazuzuprogrammieren.
Du könntest genauso in der Klasse Auto auch BMW, VW, Mercedes, Audi, etc., programmieren. In diesen Untergeordneten Klassen definierst du dann die jeweiligen Objekte, deren Eigenschaften, und natürlich die jeweiligen Methoden.
Nicht objektorientiert wäre wenn du das alles nicht machen würdest
Dann hättest du ungefähr 5 mal so viel Code und alles sieht gleich aus. Dann schleusen sich Fehler ein weil du den Überblick verlierst..
Durch die OOP kapselst du viele verschiedene Objekte in eine Klasse, so sparst du massig Ressourcen und behälst den Überblick. Ausserdem ist dein Code dann auch wesentlich kürzer und schneller für die CPU zu verarbeiten.