Kann jemand rübersehen, ob die Antworten der Fragen richtig gelöst sind?
Aufgabe 1:
Welche Aussage ist korrekt?
a.) Eine Methode, die auf nicht-statische Attribute zugreift, darf nicht statisch sein
b.) Eine statische Methode muss zwingenderweise mindestens einen Übergabeparameter haben
c.) Eine Methode, die nicht auf Attribute zugreift, muss statisch sein
d.) Eine nicht-statische Methode ändert stets den Wert von Attributen
Lösung: b
Aufgabe 2:
Wie kann man ein Objekt einer Objektklasse erzeugen? (Wählen Sie eine oder mehrere Antworten)
Wählen Sie eine oder mehrere Antworten:
a.) Mit dem default Konstruktor, während in der Objektklasse keine Konstruktoren explizit vorhanden sind.
b.) Mit dem parameterlosen Konstruktor der Objektklasse.
c.) Mit dem default Konstruktor, während in der Objektklasse einen parametrisierter Konstruktor definiert ist.
d.) Mit dem parametrisierten Konstruktor der Objektklasse.
Lösung: hier weiß ich das leider nicht...
Aufgabe 3:
Welche der folgenden Aussagen sind richtig? (Wählen Sie eine oder mehrere Antworten)
a.) Attribute können die Eigenschaften eines Objektes verändern.
b.) Attribute sind ab Deklaration in der gesamten Klasse definiert, also auch in inneren Blöcken.
c.) Attribute können wiederum Objekte sein.
d.) In Attributen können je nach Bauplan (Klasse) die Eigenschaften von Instanzen dieser Klasse eingespeichert werden.
Lösung: a.) und b.)
Welche Sprache?
Java
1 Antwort
1. a
Umgekehrt eine statische Methode darf nur statische Methoden aufrufen. Wenn man eine nicht Statische von einer statischen aufrufen möchte, muss ein Objekt gebaut werden.
2.
a richtig: Wenn kein Konstruktor in einer Klasse definiert wurde gibt es den default kostruktor: public meineKlasse() {}
b richtig: Wenn wie in a gennant ein leere erstellt wurde. (also ohne Parameter)
c falsch: Wenn ein Konstruktor erstellt wurde, ist der Default nicht mehr aufrufbar. es kann jedoch wie bei b ein leerer erstellt werden.
d richtig: z.B. public meineKlasse(int zahl, String s) {}
3.
da bin ich mir nixcht immer sicher
a eher ja -> Die Attribute sind Teile eines Objektes also speichern Eigenschaften
b nein -> wenn ein Attribut in einer z.B. Methode, Schleife oder if-Afrage Deklariert wurde, ist die nur in dieser ab Deklaration verwendbar. Wenn ein Attribut z.B. am Anfang in der Klasse in keiner Methode Deklariert wurde, dann ist es in der ganzen Klasse erreichtbar. (je nach public private... auch von anderen Klassen aus)
c ja -> z.B. int array: int i[] = new int[6];
d ja -> class meineKlasse {int zahl; public meineKlasse(int zahl) {this.zahl = zahl} }
Die Aussage 3b) ist richtig, denn wenn ein Attribut innerhalb einer Methode deklariert werden würde, wäre es kein Attribut, sondern eine lokale Variable.
Zu 3a) und 3c): Attribute sind Eigenschaften (die Begriffe sind Synonyme). Wenn es sich um objektgebundene Attribute handelt, können sie den Zustand des Objekts ändern.