Greenfoot Java |
19.06.2011, 23:35 | Auf diesen Beitrag antworten » | ||||||||||||
olllli | Greenfoot Java Meine Frage: Hallo Community, in der Schule haben wir vor einer Woche mit Greenfoot angefangen zu programmieren. Außerdem hat unser Lehrer uns einige Internetadressen ausgegeben mit denen wir arbeiten können. Kaptitel 5.1 JAVA: 5.1 Klassen, Objekte und Referenzvariablen Kapitel 6.1.1 - 6.1.4 JAVA: 6.1.1 Klassen deklarieren JAVA: 6.1.2 Eigenschaften oder Attribute von Klassen JAVA: 6.1.3 Methoden JAVA: 6.1.4 Konstruktoren Während ich mich also durch ein amerikanisches Tutorial und den oben angegeben Links geschlagen habe, bin ich auf einige Fragen gestoßen. Diese habe ich mir selbst beantwortet und möchte nun von euch wissen, ob ich diese Richtig beantwortet habe. Meine Ideen: 1. Zusammenhang Klasse <>Objekt Nach der Klasse wird das Objekt gebaut, es ist sozusagen die Vorlage. Allerdings braucht man für die Interaktion beim objektorientiertem Programmieren die Objekt. Also schreibe ich alles was das Objekt machen soll in die Klasse. Also ist die Klasse sozusagen die Vorlage für das spätere Objekt. Wie z.B. ein Bauplan. 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? 2. Methoden Methoden können also nur in der Klasse geschrieben werden. Es sind sozusagen die Befehle. Dabei kann man unterscheiden durch Rückgabetyp etc. Man kann sich auch in einer Methode auf eine andere Methode beziehen? Was ist mit einem Referenztyp gemeint? 3. Static Irgendwann bin ich auf den Befehlszusatz "Static" gestoßen. Den kann ich leider gar nicht einordnen? 4. Dot notation Die Dot notation erlaubt das beziehen von Methoden aus anderen Klassen. Dadurch, dass zuerst klassenname(punkt)Methode geschrieben wird. Würde mich über einige Antworten sehr freuen Vielen Danke im Voraus! LG |
||||||||||||
|
|||||||||||||
20.06.2011, 16:35 | Auf diesen Beitrag antworten » | ||||||||||||
MaBa | Hallo olllli, hui, das ist alles etwas durcheinander. Ich hab nicht viel Zeit, aber ich versuch das mal zu ordnen:
Genau.
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.
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.
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.
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.
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 |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|