Salta ai contenuti

Classi e oggetti

Java e un linguaggio molto legato alla programmazione a oggetti.

Un oggetto rappresenta qualcosa con dati e comportamenti: una persona, un prodotto, un conto, un libro.

Una classe e il modello da cui crei gli oggetti.

Pensala cosi:

  • la classe e il modulo vuoto
  • l’oggetto e un modulo compilato con dati reali
public class Persona {
String nome;
int eta;
}

Questa classe descrive una persona con due campi:

  • nome
  • eta

I campi sono variabili che appartengono a un oggetto.

public class Esempio {
public static void main(String[] args) {
Persona persona = new Persona();
persona.nome = "Luca";
persona.eta = 20;
System.out.println(persona.nome);
System.out.println(persona.eta);
}
}

Output:

Luca
20

new Persona() crea un nuovo oggetto partendo dalla classe Persona.

La classe e il progetto.

L’oggetto e una cosa concreta creata da quel progetto.

Persona persona1 = new Persona();
Persona persona2 = new Persona();
persona1.nome = "Luca";
persona2.nome = "Sara";

persona1 e persona2 sono due oggetti diversi. Hanno la stessa struttura, ma possono contenere dati diversi.

Una classe puo contenere anche metodi.

public class Persona {
String nome;
int eta;
void saluta() {
System.out.println("Ciao, sono " + nome);
}
}

Ora puoi chiamare il metodo sull’oggetto:

Persona persona = new Persona();
persona.nome = "Luca";
persona.saluta();

Output:

Ciao, sono Luca

Il metodo usa il campo nome dell’oggetto su cui viene chiamato.

public class Prodotto {
String nome;
double prezzo;
void mostra() {
System.out.println(nome + ": " + prezzo + " euro");
}
}

Uso:

public class Negozio {
public static void main(String[] args) {
Prodotto prodotto = new Prodotto();
prodotto.nome = "Quaderno";
prodotto.prezzo = 2.50;
prodotto.mostra();
}
}

Output:

Quaderno: 2.5 euro

Le classi aiutano a tenere insieme dati collegati.

Senza classe potresti avere variabili separate:

String nomeProdotto = "Quaderno";
double prezzoProdotto = 2.50;

Con una classe, il concetto diventa piu chiaro:

Prodotto prodotto = new Prodotto();

Man mano che i programmi crescono, questa organizzazione diventa fondamentale.