Modificatore di accesso private

di il
3 risposte

Modificatore di accesso private

Salve sono un neofita vorrei porre una domanda,il modificatore di accesso private non fa vedere gli attributi o i metodi all'esterno peró con un metodo costruttore e usando this noi possiamo far inserire tramite la classe main dei dati all'utente e quindi modifica i valori che io ho messo private all'interno della classe sopra quella main,così facendo ci potrebbe essere pure un problema di sicurezza....quindi o non ho capito io per bene il funzionamento di private oppure é sbagliato il procedimento? Scusate la domanda banale ma come detto sopra sono un neofita:)

3 Risposte

  • Re: Modificatore di accesso private

    La cosa più sicura in assoluto e non scrivere nessun programma così come non usare l'elettricità o il gas,
    ma dal momento che decidi di farlo, inizializzare un'istanza di una classe è una necessità;

    se lo rendi possibile solo tramite setter/costruttori esponi *solo* punti noti e ben definiti
    dove permetti di farlo e puoi controllare i dati passati

    HTH
  • Re: Modificatore di accesso private

    Lascia perdere le ""elucubrazioini" relative alla ""sicurezza"!
    Con il "Reflection" di Java puoi tranquillamente accedere a QUALUNQUE membro privato o meno di QUALUNQUE classe.

    I modificatori "private, public, protected, packaged==nessun_modificatore" sono utili per partizionare in modo comodo il codice SORGENTE, ed aiutare il programmatore a NON USARE metodi che non sono accessibili.
    SE gli serve un metodo NON accessibile, allora ci sono n-mila strategie per usarlo, ma la scelta della strategia dipende dal PERCHE' lo vuole/deve usare. E questo aiuta a mantenere il codice ""ben organizzato"" (e a far ragionare il programmatore)
  • Re: Modificatore di accesso private

    public double calcoloSpese() {
    			
    			double uscite=this.acqua+this.bollette+this.spesa;
    			double calcolo1=this.entrate-uscite;
    			
    		
    			return calcolo1;
    			
    		}
    		
    		private double messaggio () {
    			double a=this.calcoloSpese();
    			if(a<=0)
    				System.out.println("Sei sotto");
    			else
    				System.out.println("Sei sopra");
    			return a;
    			
    		}
    		
    		
    		
    
    IO ho questo codice vorrei far interagire il metodo private con quello pubblico per far fare il controllo che ho scritto nel metodo private e mi escono i risultati su schermo richiamando solo il metodo calcolaSpese in main, come devo fare?
Devi accedere o registrarti per scrivere nel forum
3 risposte