Download Objektorientierte Softwareentwicklung

Transcript
4.2 Pakete
Damit stellt Java eine Technik zur Verfügung, die es erlaubt, bestimmte Klassen
eines Softwarepaketes als rein interne Klassen zu schreiben, die von außerhalb des
Pakets nicht benutzt werden können.
Sichtbarkeitsattribute für Eigenschaften
Java stellt in Punkto Sichtbarkeiten eine noch feinere Granularität zur Verfügung. Es können nicht nur ganze Klassen als nicht-öffentlich deklariert, sondern
für einzelne Eigenschaften von Klassen unterschiedliche Sichtbarkeiten deklariert
werden.
Für Eigenschaften gibt es vier verschiedene Sichtbarkeiten:
public, protected, kein Attribut, private
Sichbarkeiten hängen zum einem von den Paketen ab, in denen sich die Klassen
befinden, darüberhinaus unterscheiden sich Sichtbarkeiten auch darin, ob Klassen
Unterklassen voneinander sind. Folgende Tabelle gibt eine Übersicht über die vier
verschiedenen Sichtbarkeiten:
Damit kann in einer Klasse auf Eigenschaften mit jeder dieser vier Sichtbarkeiten
zugegriffen werden. Wir können die Fälle einmal systematisch durchprobieren. In
einer öffentlichen Klasse eines Pakets p1 definieren wir hierzu vier Felder mit den
vier unterschiedlichen Sichtbarkeiten:
1
package name . p a n i t z . p1 ;
2
3
4
5
6
7
public class VisibilityOfFeatures {
private
St ri n g s1 = ” p r i v a t e ” ;
S t r i n g s 2 = ” package ” ;
protected St ri n g s3 = ” protected ” ;
public
St ri n g s4 = ” p r i v a t e ” ;
8
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
V i s i b i l i t y O f F e a t u r e s v = new V i s i b i l i t y O f F e a t u r e s ( ) ;
System . out . p r i n t l n ( v . s 1 ) ;
System . out . p r i n t l n ( v . s 2 ) ;
System . out . p r i n t l n ( v . s 3 ) ;
System . out . p r i n t l n ( v . s 4 ) ;
}
9
10
11
12
13
14
15
16
}
Listing 4.31: VisibilityOfFeatures.java
99