"OK. L'ultima volta ci siamo occupati delle classi. Oggi vorrei dirti come creare oggetti. È molto semplice. Scrivi la parola chiave new e poi il nome della classe di cui vuoi creare un oggetto."

Esempio
Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

"Questo lo so già."

"Lo so. Continua ad ascoltare."

"Quando crei un oggetto, puoi passare vari argomenti tra parentesi. Ne parleremo più avanti oggi. Per ora, diamo un'occhiata alla classe Cat:"

codice java Descrizione
class Cat {
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
nome è una variabile di istanza. Ha un modificatore di accesso pubblico, che lo rende visibile ovunque nel progetto.

Il metodo getName è un getter. Restituisce il valore della variabile di istanza name . Il nome del metodo è stato derivato dalla parola 'get' più il nome della variabile con una prima lettera maiuscola.

Il metodo setName è un setter. Viene utilizzato per assegnare un nuovo valore alla variabile di istanza name . Il nome del metodo è stato derivato dalla parola 'set' più il nome della variabile con una prima lettera maiuscola. In questo metodo, il parametro ha lo stesso nome della variabile di istanza,con questo .

"Cosa sono questi getter e setter ?"

"In Java, è pratica comune nascondere le variabili da altre classi. Di solito, le variabili dichiarate all'interno delle classi hanno il modificatore private. "

"Per consentire ad altre classi di modificare il valore di queste variabili, viene creata una coppia di metodi per ciascuna di esse: get e set . Il metodo get restituisce il valore corrente della variabile. Il metodo set imposta un nuovo valore per la variabile. "

"E qual è il punto?"

"Se non vogliamo che nessuno modifichi il valore di una variabile di istanza, possiamo semplicemente non creare un metodo set per esso o possiamo renderlo privato . Possiamo anche aggiungere ulteriori controlli di dati al metodo. Se il nuovo valore passato non è valido, non verrà cambiato nulla."

"Vedo."

"Poiché una classe può avere molte variabili, i nomi dei metodi get e set di solito includono i nomi della variabile con cui hanno a che fare."

"Se una variabile si chiama 'nome', i metodi si chiameranno setName e getName , ecc."

"Capisco. Mi sembra abbastanza ragionevole."

"Ecco altri esempi di utilizzo di un oggetto appena creato:"

Fare un passo Codice Descrizione
1
new Cat();
Crea un Catoggetto
2
Cat catOscar = new Cat();
Memorizza un Catoggetto nella variabilecatOscar
3
catOscar.name = "Oscar";
catOscar.age = 6;
catOscar.weight = 4;
Riempi l'oggetto con i dati: nome, età, peso
4
catOscar.sleep();
Chiama un metodo sull'oggetto
5
catOscar.fight(catSmudge);
Far interagire gli oggetti.

Un frammento di lezione con un mentore come parte del corso Codegym University. Iscriviti al corso completo.