June 19
Java è un programmazione (OOP) linguaggio orientato agli oggetti. Object-oriented codice è organizzato mediante un costrutto chiamato "classe", che serve come modello per la creazione di un "oggetto". Un oggetto è un insieme di proprietà (variabili membro) e comportamenti (metodi). In genere, le variabili membro sono private e possono accedere solo l'oggetto che li contiene. "Get" e "set" metodi, chiamati anche "getter" e "setter" metodi speciali sono che interagiscono con variabili membro private.
Getter e setter, o metodi "accessor", consentono di accedere alle proprietà di un oggetto. Un metodo get restituisce il valore di un immobile detenuto da un oggetto. Un metodo get ha un tipo di ritorno corrispondente al tipo di variabile membro associato. Ricevi metodi tipicamente non prendono alcun parametro. Un metodo set ha un tipo di ritorno "vuoto" e prende un parametro del tipo appropriato da assegnare alla variabile membro associato.
metodi accessori sono utilizzati da oggetti esterni, e, quindi, sono dichiarate come metodi di "pubblico" (visibile esternamente). La convenzione accettata è di nominare metodi get e set per la variabile membro associato (ad esempio, "getName" e "setName," associato con la variabile "nome"), il prefisso "GET" o "set". Non tutte le variabili membro possono essere associati metodi di accesso. Questi metodi sono scritti solo per valori che devono essere accessibili dall'esterno.
Limitare l'accesso alle variabili membro di un oggetto è parte di una pratica chiamata "incapsulamento". Incapsulamento compartimentalizza i componenti di un oggetto, nascondendo l'implementazione (funzionamento interno) dell'oggetto che non hanno bisogno di essere visibili esternamente, e la protezione dei dati interni da modifiche incontrollato. metodi di accesso possono eseguire calcoli, la convalida, o altre azioni che potrebbero essere escluse facendo variabili membro direttamente accessibili.
Protezione variabili membro utilizzando metodi di accesso consente ai programmatori di cambiare facilmente il codice interno senza cambiare il modo in cui la classe viene utilizzata da altri. Questo evita che richiedono modifiche al codice in tutta un'applicazione quando una singola classe viene modificato. Getters possono eseguire calcoli e le azioni necessarie per produrre un valore, riducendo al minimo la quantità di codice esterno necessario per utilizzare il valore. Setter possono eseguire la convalida, evitando gli errori causati da variabili membro viene impostato su valori non validi.
Aggiunta di metodi di accesso a una classe dovrebbe essere fatto in modo conservativo. Solo variabili membro che richiedono l'accesso esterno deve avere metodi di accesso. Le proprietà che possono essere modificati solo da meccanismi interni non hanno bisogno di setter. Le proprietà che non hanno alcuna rilevanza esterna non dovrebbe avere getter. Questa pratica riduce al minimo l'esposizione di implementazione di un oggetto, e protegge oggetti di modifica che potrebbe introdurre errori di runtime. I metodi pubblici meno ci sono, il più gestibile il codice sarà.