Geschrieben von MaBa am 20.06.2011 um 16:35:
Hallo olllli,
hui, das ist alles etwas durcheinander. Ich hab nicht viel Zeit, aber ich versuch das mal zu ordnen:
Zitat: |
Also ist die Klasse sozusagen die Vorlage für das spätere Objekt. |
Genau.
Zitat: |
Kann ich ein Objekt verändern, also mit Methoden belegen? Oder ist das nur in den Klassen möglich. Das würde ja wiederum heißen, dass Objekte einfach stupide Abbildungen einer Klasse sind die agieren. Also muss ein Objekt auch alle Methoden der Klasse besitzen? |
Ein Objekt hat immer die Methoden, welche in der Klasse definiert sind. Z.B. könnte eine Klasse "Auto" die Methode "fahren()" haben. Objekte sind keine stupiden Abbildungen, sondern konkrete Ausprägungen einer Klasse. Z.B. ist "Auto" die Klasse und "meinRoterOpel" ist ein Objekt. Die Klasse hat auch entsprechende Attribute wie z.B. Kennzeichen. Bei deinem Objekt "meinRoterOpel" könnte das z.B. "KO-TZ 12" sein.
Zitat: |
Methoden können also nur in der Klasse geschrieben werden. Es sind sozusagen die Befehle. Dabei kann man unterscheiden durch Rückgabetyp etc. |
.
Methoden werden in der Klasse definiert, richtig. Der Begriff "Befehl" trifft die Sache nicht so richtig, aber du meinst damit wohl das Richtige. Methoden unterscheiden sich zunächst durch ihren Bezeichner, aber natürlich auch durch ihren Rückgabetyp und die Parameterliste.
Zitat: |
Was ist mit einem Referenztyp gemeint? |
Neben den primitiven Datentypen (z.B. float, int) gibt es auch noch Arrays und Objekte. Die primitiven Datentypen werden per Wert an Methoden übergeben. Bei einer Übergabe per Wert, wird zunächst eine Kopie erzeugt, die am Ende der Methode weggeworfen wird, wodurch nach Außen keine Änderung am Wert der übergebenen Variable bemerkbar ist. Die komplexen Datentypen werden per Referenz übergeben, d.h. wenn man in der Methode schreibend auf die Parameter zugreift, verändert man direkt den Wert.
Zitat: |
Irgendwann bin ich auf den Befehlszusatz "Static" gestoßen. Den kann ich leider gar nicht einordnen? |
Mit dem Schlüsselwort static werden Klassenvariablen bzw. - Methoden gekennzeichnet. Z.B. wenn du eine Klasse Bibliothek hast, könnte es eine Klassenmethode "druckeListe()" implementieren, die alle Buchtitel ausdruckt. Es hat also nicht jedes Objekt diese Methode, sondern die Methode gehört zur Klasse.
Zitat: |
Die Dot notation erlaubt das beziehen von Methoden aus anderen Klassen. Dadurch, dass zuerst klassenname(punkt)Methode geschrieben wird. |
Schreibweise ist richtig. Im Prinzip kann das sendende Objekt einem Zielobjekt eine Nachricht schicken. Man kann also Methoden auf einem anderen Objekt (oder auch Klassenmethoden einer anderen Klasse) aufrufen. Achtung: Sichtbarkeiten.
An manchen Stellen etwas kurz gehalten, aber ggf. kannst du ja einfach in deiner Literatur nochmal nachlesen.
Viele Grüße,
MaBa