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.

Weshalb sind GET Methoden in Java Problematisch?

Ich Besuche zurzeit einen Java Kurs. Ich verstehe soweit das meiste doch unsere Lehrerin besteht darauf das get, set Methoden Problematisch sind und ich sie in meinem Code nicht verwenden sollte. Weshalb sind diese GET & SET Methoden nun Problematisch? Bisher wurde in allen Foren nur gesagt das mann sie eben verwenden soll.

Vielleicht ergibt es im Kontext mehr Sinn. Die Aufgabenstellung ist wie folgt: "Ich kann meine Klassen so entwerfen, dass Aufgaben, welche nicht lokal gelöst werden können, an Objekte anderer Klassen delegiert werden und vermeide dadurch problematische Get-Methoden".

Im vorraus Vielen Dank für eure Hilffe!

...zur Frage

Java oder HTML?

Hallo Comunity, ich möchte eine Programmiersprache lernen und überlege welche für den Anfang besser ist: Java oder HTML. Ich habe gehört Java ist zwar schwerer zu lernen, aber die programmierung gestaltet sich nicht so schwierig. HTML soll sehr leicht zu lernen sein aber beim schreiben des Quelltextes schwieriger. Welche sollte ich lernen? LG

...zur Frage

Wozu kann man OOP in Java gebrauchen?

Hallo!

Zur Zeit lerne ich im Abi die Objektorientierte Programmierung in Java. Insgesamt werden wir uns damit 3 Jahre lang beschäftigen.

Ich frage mich:

Wozu kann ich das gebrauchen? Inwiefern kann mir dieses Wissen nutzen? Kann ich dann programmieren? Und eine wichtigere Frage: Was kann ich dann programmieren?

...zur Frage

BlueJ/Java wie funktioniert das?

Haben in der schule angefangen mit blueJ und der Programmiersprache java zu programmieren. Kann mir jmd dabei helfen Blick nicht wirklich durch also wann verwendet man dieses private und wann dieses public etc

...zur Frage

Was ist der Unterschied zwischen Attribut und Objekt einer Klasse/Java?

Vielen Dank im Voraus.

Man redet immer von Objekten, aber was ist das? Sind das einfach meine Methoden bzw. set- und get Methoden?

...zur Frage

Objektorientierte und prozedurale Programmiersprachen - Was ist das und wo bestehen die Unterschiede

Wie schon in der Überschrift steht, brauche ich Hilfe bei diesen beiden Programmiersprachen.

Mein allergrößtes Problem ist, dass ich nicht weiß, ob objektorientierte Programmierung = der Programmiersprache ist?!

Allgemein versteh ich nur Bahnhof!! Es wäre schön, wenn diejenigen von euch, die sich damit auskennen mir ein paar Tipps geben könnten. :)

Danke schonmal im vorraus!

...zur Frage

Was möchtest Du wissen?