Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Wyliczeniamająjeszczeinnedodatkowewłaściwości,związanezmetodamiabstrakcyj-
nymiiprzedefiniowaniemmetod,oczymbędziemowawrodz.2.7.
1.3.Definiowanieklas
Stosującregułęukrywaniadanychispecyfikatorydostępu,możemyterazprzedstawićprzykła-
dowądefinicjęklasyPerson(zob.kod1.5),anastępniedefinicjęklasyVehicle.
publicclassPerson{
privateStringname;
privateStringpesel;
Person(Stringaname,Stringid){
name=aname;
pesel=id;
}
publicStringgetName(){
returnname;
}
publicStringgetPesel(){
returnpesel;
}
}
Kod1.5.PrzykładowadefinicjaklasyPersonwmyślregułhermetyzacji
AtrybutyobiektówklasyPersonprzedstawionojakopolaprywatne.Spozaklasyniema
donichdostępu.
Podczastworzeniaobiektujegoelementyodpowiadającetympolomsąinicjowaneza
pomocąwywołaniakonstruktora.Późniejzmianytychelementówdanychniesąjużmożliwe,
możemytylkouzyskaćdanezapomocąpublicznychmetodgetName()igetPesel().
ModyfikującirozbudowującklasęVehiclewmyślregułhermetyzacji(zob.kod1.6),
osiągniemynastępującerezultaty:
Uczynimyatrybutypojazdówprywatnymi.
Możliwestanypojazdu(stoi,jedzie,zepsuty)powinnystanowićpubliczniedostępne
atrybuty,wspólnedlaszystkichobiektówklasy;wygodniebędzietuużyć–zamiast
typupublicstaticint–publicznegowyliczenia(enum):
22
1.Klasy