Objekte und Klassen von diesem Schneemann?


26.10.2022, 10:18

Tut mir leid dass das Bild so klein ist


26.10.2022, 11:10

Hier ist die genaue Aufgabenstellung: Gib an, welcher Klasse die einzelnen Objekte des Schneemanns gehören (nicht nur die beschrifteten).

4 Antworten

Also die Benennung der Klassen und der Objekte scheint soweit zu stimmen.

Die Position ist üblicherweise auch ein Attribut des Objekts, die Knöpfe hätten also unterschiedliche Attributwerte. Das hängt aber auch von der Implementierung ab.

Alle Objekte einer Klasse haben aber die gleichen Attribute (nur andere Attributwerte). Also zumindest in einem einfachem Model, prinzipiell kann man auch Vererbung und soetwas einbauen, dann könnten Unterklassen zusätzliche Attribute einführen oder evtl. auch welche "entfernen" bzw. verschleiern/maskieren/statisch auf denselben Wert setzen (das könnte man beispielsweie machen, wenn ein Quadrat von der Klasse Rechteck erbt und man dann nur noch eine Seitenlänge als Attribut hat und nicht mehr zwei).

NinjaNini 
Fragesteller
 26.10.2022, 13:27

Dankeeee

1

Du hast das richtig verstanden.

Die Klasse ist in diesem Fall eine Beschreibung einer Form. Das Objekt ist eine bestimmte dieser Formen im Kontext dieser Abbildung.

Jeder Knopf ist eine eigene Instanz (also ein eigenes Objekt derselben Klasse), auch wenn die Attributwerte wie Farbe und Größe gleich sind. In diesem Fall wäre ja die Position auch ein Attribut, und die Werte hierfür wären unterschiedlich.

Es hindert Dich aber niemand daran, zwei Objekte derselben Klasse mit exakt identischen Attributwerten zu erzeugen.

Bedenke: Die Klasse definiert das Attribut, welches Du angeben kannst (z.B. Farbe, Größe, Mittelpunkt, Höhe, Breite, etc.). Erst das Objekt enthält spezifische Attributwerte. Aber jedes Objekt der Klasse hat dieselben Attribute.

1Telefoehn  26.10.2022, 10:28

ja, theoretisch könnten zwei identische Objekte existieren, die sich nur vom Objektnamen unterscheiden. auf der abbildung würdest du das dann halt nicht erkennen, weil sie durch ihre attribute genauso aussehen und auf der selben stelle sind.

0
ohwehohach  26.10.2022, 10:32
@1Telefoehn
 die sich nur vom Objektnamen unterscheiden

"Name" ist relativ. Objekte haben keine Namen. Es sind nur Speicherbereiche. Dass Du in Deinem Code eine Objektreferenz einer Variablen zuweist, ist nur der Tatsache geschuldet, dass Du ja irgendwie auf den Speicherbereich zugreifen musst.

0
ohwehohach  26.10.2022, 10:37
@1Telefoehn

Natürlich können zwei unterschiedliche Speicherbereiche nicht identisch referenziert werden. Im Prinzip ist die Referenz ja der Zeiger auf den Speicherbereich. Wenn Du also die Speicheradresse als Objektnamen betrachtest, dann stimmt das. Aber ansich haben Objekte eben keinen Namen.

1
guterfrager5  26.10.2022, 10:42
@ohwehohach

ich denke nicht, dass man in der 7. Klasse Informatik mit C programmiert und verstehen muss, was "Speicherbereiche", "Pointer" und "Bezeichnungen" sind 😂

(hab auch angefangen, eine Antwort zu schreiben, sie dann aber wieder gelöscht, weil es zu OOPisch war XD)

0
ohwehohach  26.10.2022, 10:42
@guterfrager5

Der Kommentar ging auch nicht an den FS, sondern an 1Telefoehn. Und wir haben sehr gut verstanden, worüber wir sprechen.

0

Allgemein ist die Frage nicht zu beantworten.
Geht es darum, den Schneemann mit einfachen Figuren zu zeichnen oder soll jedem vordefinierte Teil möglichst flexibel eine Grafik zugeordnet werden?
Was soll standardmäßig gleichartig oder vorgegeben sein?
Nehmen wir mal den ersten Fall, die Zeichnung.
Da brauchen wir nur die Klasse Ellipse mit den Attributen Position, kleine Halbachse, große Halbachse, Winkel, Linienfarbe und Füllfarbe. Ein Kreis ist ja auch eine Ellipse.
Entsprechend noch Dreieck, Rechteck und Linie als Klassen, wenn nicht standardmäßig schon vorhanden.
Damit sollte es gehen.

Jetzt kann man noch ein paar Goodies bauen, zum Beispiel eine Klasse Knopfleiste, die Knopfzahl, erste Knopfposition, letzte Knopfposition als Attribut enthält und auf die Klasse Ellipse verweist, um die Knöpfe zu bestimmen.
Für das Zeichnen könnte man eine Methode in der jeweiligen Klasse einbinden.

Das ist nur eine von vielen Möglichkeiten. Die exakte Aufgabenstellung ist dabei aber immer der rote Faden bei der Planung der Struktur.

NinjaNini 
Fragesteller
 26.10.2022, 11:09

Ich weiß die Antwort auf deine Fragen nicht, es ist einfach eine Aufgabe in Informatik und wir haben das Fach neu also ich bin auch erst 12 😅 Wir machen mit der Figur dann nix, sondern sollen halt nur die Objekte und Klassen aufschreiben die da sind. Das mit den Attributen war dann eine Frage von mir.

Hier ist die genaue Aufgabenstellung: Gib an, welcher Klasse die einzelnen Objekte des Schneemanns gehören (nicht nur die beschrifteten).

0
RonaId  26.10.2022, 11:27
@NinjaNini

Klar muss man einfach anfangen.
Dennoch muss es für jede Programmstruktur ein benanntes Ziel geben, sonst ist die Aufgabenstellung unvollständig.
Wenn es nur um ein Beispiel zum Verständnis von Klassen und Attributen geht, kann man das so machen.
Eine Klasse ist nur die prinzipielle Beschreibung. Mit der Schaffung eines Objektes einer Klasse werden die Attributwerte festgelegt.
Die Klasse Schneemann braucht also das nur ein Objekt Schneemann, während die Klasse Knopf auch nur einmal existiert, aber davon mehrere Objekte erzeugt werden.
Die Positionen sind dann Attributwerte des Objektes. Das es überhaupt ein Attribut Position geben muss, ist in der Klasse Knopf festgelegt. Alles klar?

1
RonaId  26.10.2022, 11:39
@RonaId

So wie Du das oben beschrieben hast, könnte man das machen. Hast Du also richtig verstanden.

1

ja, so könnte man es machen.

und ja, die Position ist auch ein Attribut, deswegen sind die knöpfe nicht identisch

Bild zum Beitrag

Woher ich das weiß:Hobby – interessiere mich für Naturwissenschaften, Informatik, Mathe
 - (Informatik, Objekt, 7. Klasse)
1Telefoehn  26.10.2022, 10:30

hier das bild in größer

1