Übung01

Moderator: AI 2

m_flaig
Moderator
Moderator
Beiträge: 272
Registriert: 27. Sep 2009 14:02

Übung01

Beitrag von m_flaig »

Hier können Sie Fragen zu Übung01 stellen oder zu Themen, die in Übung01 behandelt wurden.

m_flaig
Moderator
Moderator
Beiträge: 272
Registriert: 27. Sep 2009 14:02

Re: Übung01

Beitrag von m_flaig »

Die Musterlösung ist ab sofort in moodle verfügbar.

Holly19
Erstie
Erstie
Beiträge: 21
Registriert: 18. Mai 2014 12:15

Re: Übung01

Beitrag von Holly19 »

Hallo,
ich wollte mal etwas ausprobieren und habe die statische Variable in der Klasse Circle auf private gesetzt. Dann habe ich eine Instanz der Klasse Statics erzeugt, welches auf die die statische Variable zugreift. Komischerweise funktioniert das, ich dachte eigentlich, dass das nicht geht? Versteh ich da etwas mit den Sichtbarkeiten von Variablen falsch?
Liebe Grüße!

Benutzeravatar
SophiaLi1
Moderator
Moderator
Beiträge: 542
Registriert: 5. Jan 2014 11:48

Re: Übung01

Beitrag von SophiaLi1 »

Ich weiß nicht, ob das deine Frage beantwortet, aber: Auf eine private Variable kannst du von der Klasse selbst aus zugreifen, also z.B. in Methoden.

Holly19
Erstie
Erstie
Beiträge: 21
Registriert: 18. Mai 2014 12:15

Re: Übung01

Beitrag von Holly19 »

Ja, das stimmt, nur hatte ich eben von einer anderen Klasse auf die Variable zugegriffen und das fand ich komisch :(

tacu
Mausschubser
Mausschubser
Beiträge: 64
Registriert: 13. Apr 2011 18:35

Re: Übung01

Beitrag von tacu »

kannst du mal die dazu passenden Codestellen posten und dazu schreiben in welcher Klasse was steht? Ich kann gerade nicht ganz nachvollziehen wo du auf welche variable zugreifst

Holly19
Erstie
Erstie
Beiträge: 21
Registriert: 18. Mai 2014 12:15

Re: Übung01

Beitrag von Holly19 »

Ach, hab den Fehler gerade gefunden ;) Trotzdem danke!

Und doch noch eine Frage: Warum setzen wir Klassenkonstanten auf public? Kann man nicht ohnehin nur über ihren Klassennamen auf sie zugreifen ( also zum Bsp.: Math.PI)?

Benutzeravatar
SophiaLi1
Moderator
Moderator
Beiträge: 542
Registriert: 5. Jan 2014 11:48

Re: Übung01

Beitrag von SophiaLi1 »

Der Sichtbarkeits-Modifikator sagt aus, von wo man auf eine Variable oder Methode zugreifen kann. Wenn du aus einer anderen Klasse 1 mit Klasse2.Variable auf sie zugreifst, dann geht das nur, wenn sie public ist. Ein solcher Zugriff wäre bei einer privaten Variable nicht möglich.

m_flaig
Moderator
Moderator
Beiträge: 272
Registriert: 27. Sep 2009 14:02

Re: Übung01

Beitrag von m_flaig »

Holly19 hat geschrieben:Und doch noch eine Frage: Warum setzen wir Klassenkonstanten auf public?
Hallo,

das hängt ganz von Ihrem Programm ab, Sie können Klassenkonstanten auch private machen, wenn Sie Sie z.B. nur innerhalb Ihrer Klasse verwenden wollen.
Holly19 hat geschrieben:Kann man nicht ohnehin nur über ihren Klassennamen auf sie zugreifen ( also zum Bsp.: Math.PI)?
Vorsicht: private bedeutet, dass nur innerhalb der Klasse zugegriffen werden kann. Ein Aufruf wie Math.PI ist kein Aufruf innerhalb der Klasse Math sondern von außen! Wäre PI in der Klasse Math private, so könnten Sie mit Math.PI NICHT darauf zugreifen!

Viele Grüße,
M.Flaig

Antworten

Zurück zu „AI 2“