La classe in Java

Cosa sono le classi

Nel linguaggio Java una classe è un insieme composto da attributi e metodi.

La differenza tra attributi e metodi

  • Attributi
    Gli attributi sono le variabili della classe. Definiscono le proprietà della classe. Ad esempio, l'attributo anno è una variabile a cui assegno un valore (es. anno=2020).
  • Metodi
    I metodi sono le funzioni della classe. Definiscono il comportamento della classe. Ad esempio, il metodo somma calcola l'addizione tra due numeri passati come argomento.

A cosa servono le classi

Sono il fondamento della programmazione orientata agli oggetti (OOP).

Tramite la classe posso creare degli oggetti che ereditano automaticamente gli attributi e i metodi della classe.

la differenza tra classe e oggetti

Esempio

La classe anagrafica è composta dagli attributi nome e cognome.

Uso la classe anagrafica per creare due oggetti: Andrea e Gaia.

la differenza tra oggetti e classi

Gli oggetti Andrea e Gaia ereditano automaticamente gli attributi nome e cognome.

In questo modo non devo definirli manualmente per ogni oggetto.

Posso richiamare gli attributi di un oggetto scrivendo:

Andrea.nome
Andrea.cognome
Gaia.nome
Gaia.cognome

In questo esempio ho usato degli attributi. Con i metodi è lo stesso.

La differenza tra classi e oggetti

La differenza tra una classe e un oggetto è la stessa che c'è tra un insieme e un elemento dell'insieme.

La classe è un insieme che contiene gli oggetti (elementi).

Tutti gli oggetti hanno in comune le proprietà dell'insieme.

la differenza tra una classe e gli oggetti della classe

Esempio

La classe animali è un insieme caratterizzato da attributi (specie, genere, ecc.) e metodi (verso, ecc.).

Gli oggetti sono gli elementi che appartengono all'insieme degli animali.

Ad esempio, il cane e il gatto sono due oggetti della classe animali.

Sia il cane che il gatto hanno gli attributi specie e genere anche se con valori diversi.

Gatto.genere=Felis
Gatto.specie=silvestris
Cane.genere=Canis
Cane.specie=lupus

Hanno anche il metodo verso

Nel caso del gatto sarà un suono del tipo "miao", nel caso del cane "bau".

Gatto.verso()
Cane.verso()

Le superclassi

Una classe può anche ereditare i metodi e attributi da un'altra classe madre, detta superclasse.

La classe figlia è invece detta sottoclasse.

esempio di superclasse e sottoclasse

Gli oggetti creati con la sottoclasse ereditano anche i metodi e gli attributi della superclasse, oltre a quelli della classe in questione.

Esempio

In questo esempio creo un oggetto (Andrea) con la classe studenti.

la differenza tra classi e oggetti

La classe studenti è una sottoclasse della classe anagrafica.

Pertanto, l'oggetto Andrea eredita sia gli attributi/metodi della classe studenti, sia quelli della superclasse anagrafica.

E così via.


 
Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Le classi in Java