Objektorientierte Programmierung wie geht das?

5 Antworten

In objektorientierten Programmiersprachen können Methoden ebenso wie Variable klassenspezifisch definiert sein.

Das bedeutet (z.B.):

Sind C1 und C2 Klassen, so können sie beide eine Methode M haben, deren voller Name dann aber C1.M bzw. C2.M ist. M kann in beiden Klassen völlig unterschiedlich implementiert sein und könnte auch in beiden Klassen unterschiedliche Parameter akzeptieren.

Ist nun x1 eine Variable vom Typ C1, so ist x1.M ein zweiter Name für C1.M.

Ist weiter C2 eine aus C1 abgeleitete Klasse und x2 eine Variable vom Typ C2, so wäre mit x2.M die Methode C2.M gemeint, mit ((C1)x2).M aber die Methode C1.M.

Beachte: Unter (C1)x2 versteht man x2 interpretiert als Variable vom Typ C1.

Desweiteren kann jede Klasse mehrer Methoden gleichen Namens haben -- sie müssen sich dann aber hinsichtlich ihrer Signatur unterscheiden, d.h. entweder hinsichtlich der Zahl ihrer Parameter oder wenigstens hinsichtlich des Typs mindestens eines ihrer Parameter.

Wie diese Beispiele dir vielleicht schon nahelegen, besteht Objektorientiertheit vor allem in einer Reihe von Konventionen, die Ordnung bringen in eine große Menge von Typen (Klassen) und Methoden. Diese Konventionen bewirken, dass der hingeschriebene Name einer Methode oder einer Variablen in unterschiedlichem Kontext Unterschiedliches bedeuten kann. Eindeutig sein muss nur ihr implizit (über jene Konventionen) gegebener voller Name.

Er beinhaltet stets auch die Namen der Klassen, die Typen der Parameter solcher Methoden sind. Beispiel:

Ist C2 eine aus C1 abgeleitete Klasse (d.h. eine Spezialisierung von C1) und ist ferner M eine Methode von C1 mit einem ersten Parameter vom Typ T1 und einem zweiten Parameter vom Typ T2, so hat der volle Name von M die Form C1.C2.M(T1,T2).

Unter Variablen -- ebenso wie unter Konstanten -- versteht man klassenspezifisch definierbare parameterlose Methoden.

Ist als V ein in Klasse C2 definierte Variable, so lautet ihr voller Name C1.C2.V.

Eine Variable oder Konstante V, deren voller Name einfach nur V ist, nennt man eine globale Variable bzw. Konstante.

Das steht auch nicht viel kürzer bei

http://de.wikipedia.org/wiki/Objektorientierte_Programmierung#Konzepte

genau das was da an begriffen erklärt wird, macht OOP aus .

Anders gesagt , es gibt jetzt variablen mit funktion  was wir dann als Object bezeichnen . Der Vorteil besteht darin das ein Object selber handeln kann bzw es immer eine Funktion geben sollte die dem Object ermöglicht das zu tun was von ihm verlangt wird . Das Object kann zum beispiel in der Funktion zeigeWert , schon prüfen ob dieser Wert überhaupt logisch ist . Somit kann das Object nicht nur einen Wert liefern  , sondern es kann sich serlber um sachen kümmern . Aber es ist halt nicht intelligent , es kann nur was ihm beigebracht wird . Aber es ist ein(oder viele) Wert der Handeln kann auf vielerlei weise .


So einfach ist das als Anfänger nicht ohne genug Erfahrung in prozedualer Programmierung damit man die Unterschiede und Vorteile der OOP erklären kann.

Was möchtest Du wissen?