Zur Haupt­na­vi­ga­ti­on sprin­gen [Alt]+[0] Zum Sei­ten­in­halt sprin­gen [Alt]+[1]

Zu­griffs­mo­di­fi­zie­rer

Wenn man im UML-Edi­tor ein At­tri­but oder eine Me­tho­de ent­wirft, so kann man sich zwi­schen vier Zu­griffs­mo­di­fi­zie­rern ent­schei­den, von denen hier aber nur drei ver­wen­det wer­den: pri­va­te, pro­tec­ted oder pu­blic. Damit legt man die Stär­ke der „Ein­schrän­kung“, wie auf die At­tri­bu­te bzw. Me­tho­den zu­ge­grif­fen wer­den darf fest:

  • pri­va­te : Nur von die­ser Klas­se aus

  • pro­tec­ted: Von allen ab­ge­lei­te­ten Klas­sen aus

  • pu­blic: Von über­all.

Zugriffsmodifizierer im UML-Klassen-Editor

Lässt man den Zu­griffs­mo­di­fi­zie­rer weg, so wird au­to­ma­tisch pa­cka­ge an­ge­nom­men. Das be­deu­tet, dass nur in­ner­halb des glei­chen Pa­kets zu­ge­grif­fen wer­den kann.

Vor allem für At­tri­bu­te ist pri­va­te in der OOP die erste Wahl, denn es soll ja mög­lichst das „Ge­heim­hal­tungs-Prin­zip“ gel­ten: Was genau ein Ob­jekt mit sei­nen At­tri­bu­ten an­stellt, geht kei­nen etwas an. Mit der get- bzw.​set-Me­tho­de (diese sind, wenn sie exis­tie­ren immer pu­blic) kann man, falls vom Pro­gram­mie­rer ge­wünscht, In­for­ma­ti­ons- bzw. Än­de­rungs­rech­te von außen be­kom­men.

Man be­ach­te: Jede ab­ge­lei­te­te Klas­se erbt auch die pri­va­te At­tri­bu­te der Ober­klas­se, kann aber ohne get- und set-Me­tho­de nicht dar­auf zu­grei­fen. Aber selbst mit get- und set-Me­tho­de ist das ar­bei­ten mit den ja immer vor­han­de­nen At­tri­bu­ten sper­rig und führt fast zwangs­läu­fig zu De­fi­ni­ti­on wei­te­rer At­tri­bu­te. Hier bie­tet sich, na­tür­lich nur nach gründ­li­cher Über­le­gung, die Ver­wen­dung des Zu­griffs­mo­di­fi­zie­rers pro­tec­ted an. Zum bes­se­ren Ver­ständ­nis eine Ana­lo­gie:

Ba­sis­klas­se sei Crt­Bild­schirm. Ab­ge­lei­te­te Klas­se Crt­Bild­schir­m100Hz.

Nun haben die Ent­wick­ler die­sem 100 Hz-Fern­se­her eine Taste auf der Fern­be­die­nung spen­diert, mit der man das Bild für Filme op­ti­mie­ren kann. (Es wer­den dann be­stimm­te Werte für Hel­lig­keit, Kon­trast, Farb­sät­ti­gung etc. ein­ge­stellt.)

Diese Me­tho­de „Bild op­ti­mie­ren“ hat die Ba­sis­klas­se Crt­Bild­schirm nicht.

Wären die Ei­gen­schaf­ten Hel­lig­keit, Kon­trast und Farb­sät­ti­gung jetzt pri­va­te, dann könn­te die Me­tho­de „Bild op­ti­mie­ren“ (der ab­ge­lei­te­ten Klas­se) diese Wer­ten nicht di­rekt än­dern und die Taste funk­tio­niert nicht.

Für sol­che Fälle kann die Ver­wen­dung von pro­tec­ted sinn­voll sein, denn damit wird der Zu­griff zu die­sen At­tri­bu­ten nur den dar­aus ab­ge­lei­te­ten Klas­sen er­laubt.

 

 

Ein­füh­rung: Her­un­ter­la­den [odt][330 KB]

 

Wei­ter zu Po­ly­mor­phie