Si mi ero sbagliato con il nome della classe "Posizione" invece di "Punto" dato che non lo avevo sotto mano il programma che avevo scritto. Ma a quale fine mantenere i campi privati e usare l'incapsulamento? Per una questione di prassi usuale e di ordine? E dichiarare le variabili private per non renderle accessibili dall'esterno?
Comunque è come dico io quindi, bisogna istanziare le classi per poter accedere agli elementi. Conviene quindi istanziare la classe direttamente nel punto in cui si dichiara? Esempio:
In questo caso anche senza "public" funziona.codice:public class ProvaClasse { public static void main(String[] args) { Rettangolo rett = new Rettangolo(); rett.altezza = 50; rett.base = 80; rett.posizione.x = 10; rett.posizione.y = 30; System.out.println(rett.posizione.x); System.out.println(rett.posizione.y); } } class Punto { int x; int y; } class Rettangolo { int altezza; int base; Punto posizione= new Punto();
Questo programma è comunque un esempio. Ma perché evitare le classe interne o inner class? Quali sono i lati negativi?

Rispondi quotando