se variabili e/o metodi sono accessibili fuori da una classe A, significa che fanno parte dell'interfaccia di quella classe verso le classi cliente (classi che utilizzano A).
Nascondere variabili e metodi serve a realizzare l'incapsulamento
che e' prassi di buona programmazione
in particolare: e' buona norma che le varibili membro di una classe siano sempre private (a parte poche eccezioni come ad esempio le variabili final static che descrivono delle costanti)
ecco un semplice esempio:
Nota che ClienteDiA non e' tenuto a sapere che point non puo' essere posto uguale a nullcodice:class A { public java.awt.Point point = new java.awt.Point(); public void print(){ System.out.println(point.toString); } } class ClienteDiA { public static void main(String argv[]){ A temp = new A(); temp.point = null; temp.print(); // errore NullPointerException a causa del mancato incapsulamento } }
perche non conosce l'implementazione interna di print()
tutto quello che conosce e' l'interfaccia pubblica di A, ovvero la signature dei suoi metodi pubblici e le sue variabili pubbliche

 
			
			 
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando