Contenuti del Corso
Java Avanzato
Java Avanzato
Che cos'è una classe?
Classe
Una classe è un concetto fondamentale nella programmazione OOP. Si riferisce a un modello per la creazione di oggetti. Una classe è composta da campi (dati) e metodi (comportamento). Consideriamo la classe Dog
, dove i campi (dati) rappresentano le informazioni sul name
e age
del cane, mentre il metodo (comportamento) permette al cane di presentarsi e dire il proprio nome:
Dog.java
class Dog { String name; int age; void introduce() { System.out.println("Woof, woof (which means 'My name is " + name + "!')."); } }
Consideriamo cosa costituisce i dati (campi) e cosa rappresenta il comportamento (metodi):
Come possiamo vedere dal diagramma, abbiamo campi che non sono inizializzati all'interno della classe stessa, così come un metodo che non è ancora richiamato da nessuna parte. Creiamo un oggetto della classe Dog
nella classe principale e inizializziamo i suoi campi:
Main.java
public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.name = "Brian"; dog.age = 13; } }
Abbiamo creato un oggetto della classe Dog
e lo abbiamo chiamato dog
.
La sintassi per creare un oggetto di una classe è:
ClassName objectName = new ClassName();
Abbiamo anche inizializzato le proprietà dell'oggetto assegnando valori ai campi.
Il nome del nostro cane è Brian
e l'età è 13
.
La sintassi per inizializzare i campi di un oggetto è:
objectName.fieldName = value;
Ora abbiamo quindi un oggetto della classe Dog
con i campi inizializzati.
Procediamo ora a invocare un metodo dalla nostra classe Dog
:
Main.java
package com.example; class Dog { String name; int age; void introduce() { System.out.println("Woof, woof (which means 'My name is " + name + "!')."); } } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.name = "Brian"; dog.age = 13; dog.introduce(); } }
Abbiamo invocato con successo un metodo dalla classe Dog
utilizzando quel metodo sull'oggetto Dog
. Potresti aver notato la stessa sintassi quando abbiamo chiamato metodi dalla classe String
in precedenza.
1. Come si dichiara una classe?
2. Dovremmo creare una nuova classe all'interno di un'altra classe?
Grazie per i tuoi commenti!