throw NoSuchElementException( )
Foreach for ( tipo element : Collection) { … }
18.02.25 20.02.25
Oggetti
Librerie collezione di oggetti già sviluppati
Su System.out.println() out è un oggetto richiamato dal metodo
println rappresenta l’output del programma
System è una libreria già importata su java
Un oggetto deve avere: Stato, Comportamento e Identità
Stato informazioni che caratterizzano l’oggetto
Comportamento operazioni che possono essere eseguite con
l’oggetto (possono dipendere o modificare lo stato dell’oggetto)
Identità indirizzo di memoria (esempio due recipienti nello stesso
stato ma non sono lo stesso)
Classe famiglia di oggetti con lo stesso stato e stesso
comportamento
Istanze oggetti che appartengono ad una certa classe c sono
detti istanze c
La memoria è suddivisa in tre parti:
- Area codice contiene il nostro programma (il codice che
vogliamo eseguire) sola lettura
- Pila dei frame vengono salvate tutte le variabili e tutti i
record di attivazione (parametri dei metodi, metodi e variabili
vengono memorizzati qua)
- Heap (mucchio) regione di memoria variabile dove vi sono
gli oggetti e gli array (c’è il contenuto del puntatore richiamato
nella pila dei frame)
Il codice viene tradotto dalla compilazione e poi viene letto dalla
JVM e il file compilato .class viene salvato nell’area codice. Il file
.class è una “ traduzione” del file per essere poi avviato dal .java
(interprete java).
Quando passiamo un oggetto ad un metodo, in realtà stiamo
passando l’indirizzo di memoria dall’heap
25.02.25
I campi, o variabili istanza, definiscono lo stato di ogni istanza della
classe i campi con private sono utilizzabili solo all’interno della
classe e per accedere al valore di una variabile private, bisogna
utilizzare dei metodi getter (public) che ritornano il valore . Solo il
codice della classe può modificare le variabili istanze
Una classe deve avere degli stati inizializzati con private tipo
nome_stato; poi vanno inizializzati nel costruttore
Costruttore public Nomeoggetto/Classe (parametri ) { codice
preparatorio al primo utilizzo }
Il costruttore è un metodo speciale che viene eseguito ogni volta
che si crea un’istanza della classe e prepara l’istanza al primo
utilizzo. È riconoscibile dal nome uguale a quello della classe e che
è pubblico perché chiunque può creare istanze. Se non si inizializza
il costruttore viene automaticamente usato il costruttore di default
public NomeClasse( ) { … }
Altri metodi come il getter sono metodi all’interno della classe
Oggetto e possono essere chiamati da un altro programma con
nome_oggetto.metodo(parametro);
04.03.25 settimana 3 programmi java
Ereditarietà
Extends serve per creare una classe che estende un’altra classe
public class nuova_classe extends classe { private tipo aggiunta;
…}
Una nuova classe che estende una classe ne eredita tutti i campi e
tutti i metodi senza bisogno di ridefinirli
Classe classe base o super classe nuova_classe classe
derivata o sottoclasse
Una volta estesa la classe bisogna ricreare il costruttore per
renderne efficacie il primo utilizzo, però non posso chiamare gli
argomenti richiamati nel costruttore iniziale perché con campo
private
Quindi devo utilizzare super(variabile);
Overriding ridefinire un nuovo metodo nella sottoclasse di un
metodo di una super classe nel caso delle classi Recipiente e
RecipienteConTappo, se voglio modificare il metodo aggiungi
riscriverò il metodo aggiungi e aggiungerò che se è aperto, allora fai
quello della superclasse public void aggiungi(int q) { if (aperto)
super.aggi
-
Appunti di Programmazione Java
-
Appunti Java
-
Programmazione a Oggetti [Java], Base e Avanzata - Ing. Informatica, Appunti di Programmazione Java
-
Appunti Java