Massimo Caliman
Massimo Caliman
1 min read

Categories

  • Java

Tags

  • OOP

Languages

  • Italian

#Definizione dei metodi

In java la definizione di un metodo di compone di due parti

  • l’impostazione o segnature che ne definisce l’interfaccia
  • il blocco formato dai comandi che ne realizzano il comportamento.

Ovviamente non lecito dichiarare i metodi all’interno di altri metodi. L’intestazione dei metodi può connotarsi in modo diversificato a seconda che un metodo possa o non possa esportare i valori. Nel primo caso assume la forma sotto indicata in cui l’espressione restituita dal comando return deve essere di tipo compatibile con il tipo specificato nell’intestazione

T m (parametri_formali ) {
   statements;
   return expression ;
}

Nel caso il metodo non ritorni nessun valore si usa la parola chiave void

void m (parametri_formali){
   statements;
}

I parametri nell’impostazione costituiscono i parametri_formali .

T1 p1,T2 p2,,Tn pn

Un metodo viene attivato effettuandone la chiamata sui parametri attuali esse stabiliscono i valori da associare ai parametri formali affinch il metodo possa essere eseguito. La chiamata al metodo assume la forma

m(parametri_attuali) m(p1,p2, pn)

p1,p2,,pn cio i parametri attuali sono forniti da una opportuna lista di variabili o di espressioni che devono ovviamente coincidere in numero e tipo con i parametri formali

class T{
   public int s (int x,int y){
     return x+y;
   }
}

#Metodi statici e metodi dinamici

Una distinzione fondamentale che riguarda i metodi e che legata al contesto di attivazione, li discrimina in metodi statici e metodi dinamici

Definizione Si definisce statico un metodo eseguibile dalla classe in cui è definito.

Definizione Si definisce dinamico un metodo eseguibile dagli oggetti che sono instanziabili dalla sua classe di definizione.

Sintatticamente i metodi statici sono individuati dal modificatore static che è invece assente nella definizione di quelli dinamici. Un metodo statico è un metodo di classe secondo quanto definito in precedenza, analogamente un metodo dinamico è un metodo di istanza (di fatto i metodi statici equivalgono alle procedure e funzioni dei linguaggi imperativi quindi non orientati agli oggetti).

Alle distinzioni precedenti si ottiene un’unica tipologia di metodi. L’eccezione costituita dai metodi costruttori della classe i quali costituiscono i metodi che devono essere impiegati per istanziare gli oggetti della classe.

Definizione

Un metodo costruttore di classe un metodo con le seguenti proprietà :

  • dichiarato public ( ma vedremo anche no)
  • possiede lo stesso nome della classe
  • non ha definito nessun tipo di ritorno