Polimorfismo che dal greco significa più forme è la caratteristica che ci consente di utilizzare un’unica interfaccia per una moltitudine di azioni. Per quanto concerne la programmazione il polimorfismo viene riassunto nell’espressione “un’interfaccia, molti metodi”. Le interfacce Java (interface) contengono definizioni di costanti e definizioni dei metodi (I metodi non contengono l’implementazione ). Per indicare che una classe incorpora il comportamento di una data interfaccia si usa la parola chiave implementa, inoltre una classe che implementa un’interfaccia è “obbligata” a implementare tutti i metodi definiti da quest’ ultima. Le classi possono implementare una o più interfacce.
Esempio
public interface MyInterface {
final int maxDim = 100;//costante
boolean isFull();//metodo
}
public class MyClass implements MyInterface {
private int dim ;
public boolean isFull(){
return dim ≥ maxDim ;
}
}
[/code]
Costruttori
I costruttori sono dei metodi particolari che permettono di definire lo stato iniziale degli oggetti creati dalla classe . In Java i costruttori hanno lo stesso nome della classe , inoltre è possibile aver più costruttori
[code lang=”java”]
public class MyClass {
int stato;
public MyClass(int stato){//costruttore
this.stato=stato;
}
public MyClass() {//costruttore
this.stato=0;
}
}
[/code]
Il Garbage Collector si occupa di deallocare la memoria occupata dagli oggetti non più referenziati. La presenza del GC semplifica notevolmente la vita del programmatore: in Java non è necessario definire distruttori ad-hoc .