|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2004
Città: Rovereto (tn)
Messaggi: 2187
|
[JAVA] public protected private
la definizione è questa
Codice:
public visibile da tutti (non def.) visibile da tutti nello stesso package protected visibile dalle sottoclassi private nascosta da tutti ma se io definisco classe A con una variabile int x classe B stesso pack di A come richiamo x?? |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Apr 2002
Messaggi: 73
|
ciao,
prova: A.x
__________________
Dm - G7 - Cmay7 |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Oct 2004
Città: Rovereto (tn)
Messaggi: 2187
|
Quote:
|
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Apr 2005
Messaggi: 224
|
se la variabile intera è "static" puoi accedervi senza dover instanziare un oggetto della classe che la contiene...altrimenti certamente dovrà esistere un oggetto A prima di poter accedere ad un suo attributo...
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Jun 2004
Città: Catania
Messaggi: 88
|
Il bello della programmazione ad oggetti è proprio questo. Quando tu scrivi una classe all'interno avrai le tue variabili e i tuoi metodi per accedere alle variabili. Nell'esempio precedente se nella Classe A dichiari private int x, per accedergli ti coviene fare un metodo che ti restiuisce questo valore ad esempio: GetX(). Se vuoi programmare in JAVA ti conviene utilizzare sempre i metodi GET e SET rispettivamente per prendere e settare i valori di una variabile.
Secondo me fare A.x non è bello, ma A.GetX() ha più stile. Questo è uno stile di programmazione, ognuno è libero. Ho espresso solamente il mio stile.
__________________
Mic |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Apr 2005
Messaggi: 224
|
Io direi che non è una questione di "stile" ma piuttosto una questione di incapsulamento, grazie ai metodi set e get puoi un giorno organizzare diversamente le strutture dati della tua classe e, senza dover mettere mano ad altre parti del programma rimpiazzare solo la classe in questione, saranno i metodi get e set che saranno cambiati ma chi utilizza la classe li chiamerà allo stesso modo di prima.
Accedere ad un metodo direttamente è più performante che non chiamare una funzione preposta (get o set), ma lo si fa nel nome della "riusabilità". ![]() |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Jun 2004
Città: Catania
Messaggi: 88
|
quoto in pieno quello che ha detto AlvaroVitale. Effettivamente volevo dire questo.
__________________
Mic |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:43.