wann benutze ich self. in ocl ?

Ambush
Mausschubser
Mausschubser
Beiträge: 68
Registriert: 1. Feb 2008 12:16

wann benutze ich self. in ocl ?

Beitrag von Ambush »

Mir ist leider etwas unklar wann ich self. benutze und wann nicht. Zuerst dachte ich, man würde self.attributname bei Attributen benutzen und bei Assoziation (z.b batterie) einfach nur batterie schreiben. Nun habe ich aber gesehen das in der Probeklausur auch self.batterie benutzt wurde. Kann mir jemand helfen ?

In der Probeklausur wurde außerdem self.batterie.holeSpannung() anstatt self.batterie.spannung geschrieben. Seit wann muss man in ocl Sichtbarkeiten beachten ? man konnte doch auch c1.name aufrufen und musste nicht c1.getName() machen , oder ?

Wambolo
Computerversteher
Computerversteher
Beiträge: 381
Registriert: 18. Okt 2007 11:36

Re: wann benutze ich self. in ocl ?

Beitrag von Wambolo »

1. Also ich denke im Zweifelsfall liegst Du mit self immer richtig. Die Sysntaxregeln dahinter kenne ich aber auch nicht.

2. Ich denke der direkte Zugriff auf die Attribute ist auch korrekt.

Leider alle Angaben ohne Gewähr.

Remake
Mausschubser
Mausschubser
Beiträge: 64
Registriert: 15. Dez 2007 10:40

Re: wann benutze ich self. in ocl ?

Beitrag von Remake »

Hmm ich hab self eigentlich immer weggelassen, wenn man vom Context direkt auf die Assoziation/Operation/Attribut zugreifen kann. Das ist wie z.B. in Java this. In der Lösung haben die das wahrscheinlich, um es einfach deutlicher zu machen. Siehe auch Folie 283.

2. Weiß auch nicht, aber in der MuLö 7 wurde auch direkt auf ein privates Attribut (von Außerhalb der Klasse) zugegriffen, insofern spielen Sichtbarkeiten wohl wirklich keine Rolle (oder wir berufen uns dann dadrauf hehe). Wenn ein Getter da ist, benutz ihn halt trotzdem lieber.

Benutzeravatar
blackcomb
Mausschubser
Mausschubser
Beiträge: 70
Registriert: 1. Okt 2007 15:48
Wohnort: Darmstadt

Re: wann benutze ich self. in ocl ?

Beitrag von blackcomb »

Um das nochmal mit der OMG-Referenz zu belegen:

1. "In most cases, the keyword self can be dropped because the context is clear." (S. 22)

2. "The OCL specification puts no restrictions on visibility." (S. 77)

http://www.omg.org/docs/formal/06-05-01.pdf

Sebastian Hartte
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 236
Registriert: 15. Apr 2004 17:57

Re: wann benutze ich self. in ocl ?

Beitrag von Sebastian Hartte »

blackcomb hat geschrieben:Um das nochmal mit der OMG-Referenz zu belegen:

1. "In most cases, the keyword self can be dropped because the context is clear." (S. 22)

2. "The OCL specification puts no restrictions on visibility." (S. 77)

http://www.omg.org/docs/formal/06-05-01.pdf
Vielen dank fürs nachsehen :-)

Das ist dann mal eine definitive Aussage.

Gruß,
Sebastian

Antworten

Zurück zu „Archiv“