Hm, das wird jetzt schwer ... (nein, nicht weil ich Dich zu blöd halte, sondern weil es so komplex ist)...
Also, hinter der Objektorientierten Programmierung stehen gleich eine ganze Reihe an Ideen, die ich hier mal probiere möglichst anschaulich darstellen möchte.
Instanzierung: es gibt Instanzen von Klassen, die Objekte genannt werden. Klassen kann man sich quasi als Vorlagen vorstellen, in denen beschrieben ist, wie ein Objekt aufgebaut ist, während die Objekte dann wirklich das sind, was im Arbeitsspeicher ist und mit denen gearbeitet wird. Dient dazu, dass man eben nicht alle Objekte, die man oft braucht einzelnd programmieren muss (also z.B. bei 1000 Einheiten in einem Spiel nicht jede Einheit extra sondern man nimmt eben die Klasse EInheit und machen Instanzen (Objekte) von ihr.
Kapselung: jede Klasse hat private Daten und Methoden, die nicht von außerhalb des Objekts angesprochen werden können und öffentliche Daten und Methoden, die auch von außerhalb der Klasse angesprochen werden können. Beispiel: Das Treten des Gaspedals ist qausi eine öffentliche Methode des Objekts Auto. Dagegen wäre das Einspritzen des Benzin-Luftgemisches eine private Methode, da man sie nicht direkt von außen Ausführen kann sondern eben das Gaspedal drücken muss. Für Daten gillt dann ähnliches, nur dass hier der Tacho z.B. ein öffentliches Datum wäre, während z.B. diverse Systemdiagnose-Ergebnisse dann eher private Daten währen. Dient dazu, um zu kontrollieren, dass jeder Programmteil auch nur auf den Teil zugreift, auf den es darf. Falls Du jetzt sagt, dass es das nicht gibt, dann frag mal bei der ESA nach - die haben wegen einem sollchen Fehler ihre erste Ariane 5 verloren.
Vererbung: Vererbung ist eine art Spezialisierung der Klassen. Man könnte z.B. die Klasse Säugetier nehmen und von ihr Huns und Katze ableiten: beide sind Säugetiere, aber eben spezielle. Hat den Vorteil, dass man den ganzen Code aus der Basisklasse (hier Säugetier) nicht noch einmal in den abgeleiteten Klassen neu schreiben muss sondern ihn einfach weiter nutzt.
Polymorphismus: Ist ganz ähnlich wie Vererbung, nur dient es einem anderen Zweck, nämlich um die abgeleiteten Klassen auf eine gemeinsamen Ursprung zurück zu führen. Will man z.B. auf alle Fenster eine bestimmte Methode ausführen (z.B. alle minimieren) und es aber Fenster währen von einem Unterschiedlichen Typ und währen nicht auf einen bestimmen Typ (= Klasse) zurück zu führen, dann käme man echt ins schwitzen. So führt man einfach alle Fenster auf einen Typ zurück und kann sich nun sicher sein, dass sie alle diese eine Methode zum minimieren unterstützen.
So, jetzt hoffe ich mal, dass das hilfreich war... bei Fragen, schreib doch einfah über ICQ: 140466789
MfG
Tobias