Pagina Iniziale | Preferiti Comunity: Login | Registrati | Newsletter | Forum | Concorsi Newsgroup
Canali: Hardware | Software | Files | Webmaster | Cellulari | Shop     
Nel sito: News | Articoli | Files | Manuali | Consigli PC | Schede cellulari | Programmaz. | Hosting | Motori Ricerca | Glossario | Link
Servizi: Shopping | Forum | Crea un BLOG | Cartucce Compatibili | Hosting Aruba | Tool News |   Sponsor: Automazione Industriale
  Articoli

Recensioni
Consigli per PC


  News e files

Software
Telefonia
Internet
Tecnologia
Files e Download


  Manualistica

Guide HW/SW
Scripts ASP
Scripts HTML
Scripts Java
Scripts Delphi
Glossario


  Shopping

Hardware
Software e Giochi
Elettronica
Cinema e Film
Console e Accessori
Prodotti Ufficio
Formazione e Corsi

Tieniti aggiornato sul mondo della tecnologia con la nostra newsletter!
La tecnologia sulla tua
casella e-mail

[Info Newsletter]


Concessionaria Pubblicitaria


<< News Precedente [Fine Pagina] News Successiva >>
Il linguaggio Java: lez.3

Un articolo di: Fonte Esterna del 27/11/2002      Letture: 4558
Vai alla pagina:
 4 - Unità didattica 2.3)

10,63 Euro
Il linguaggio java da HOEPLI.it



  Buono sconto 4% su Toner e Cartucce agli utenti AZpoint. SU Iomiricarico.it!!

- I metodi in Java

Nella definizione di classe, quando si parla di caratteristiche, in pratica ci si riferisce ai dati (variabili e costanti), mentre col termine funzionalità ci si riferisce ai metodi. Abbiamo già detto che metodo è sinonimo di azione. Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi. Infatti è il metodo main, che per default, è il punto di partenza di ogni applicazione Java. Una classe senza metodo main, come la classe Punto, non può essere mandata in esecuzione, ma solo istanziata all’interno di un metodo di un’altra classe (nell’esempio precedente, nel metodo main della classe Principale). Il concetto di metodo è quindi anch’esso alla base della programmazione ad oggetti. Senza metodi, gli oggetti non potrebbero comunicare tra loro. Essi possono essere considerati messaggi che gli oggetti si scambiano. Inoltre rendono i programmi più leggibili e di più facile manutenzione, lo sviluppo più veloce e stabile, evitano le duplicazioni, e favoriscono il riuso del software.

Il programmatore che si avvicina a Java dopo esperienze nel campo della programmazione strutturata, spesso tende a confrontare il concetto di funzione con il concetto di metodo. Sebbene simili nella forma e nella sostanza, bisognerà tener presente, al momento dell’implementazione, che un metodo ha un utilizzo differente dalla funzione. Nella programmazione strutturata infatti, il concetto di funzione era alla base. Tutti i programmi erano formati da un cosiddetto programma chiamante e da un certo numero di funzioni. Queste avevano di fatto il compito di risolvere determinati "sotto-problemi" generati da un analisi di tipo Top-Down, allo scopo di risolvere il problema generale. Come vedremo più avanti, nella programmazione orientata agli oggetti, i "sotto-problemi" saranno invece risolti tramite i concetti di classe ed oggetto, che a loro volta, faranno uso di metodi.

È bene che il lettore cominci a distinguere nettamente due fasi per quanto riguarda i metodi: dichiarazione e chiamata.

Dichiarazione di un metodo:

La dichiarazione definisce un metodo, ecco la sintassi:

[modificatori] tipo_di_ritorno nome_del_metodo ([parametri]) { corpo_del_metodo}

dove:

  • modificatori: parole chiavi di Java che possono essere usate per modificare in qualche modo le funzionalità e le caratteristiche di un metodo.
  • tipo di ritorno: il tipo di dato che un metodo potrà restituire dopo essere stato chiamato.
  • nome del metodo: identificatore che sarà utilizzato al momento della chiamata del metodo.
  • parametri: dichiarazioni di variabili che potranno essere passate al metodo, e di conseguenza essere sfruttate nel corpo del metodo, al momento della chiamata.
  • corpo del metodo: insieme di comandi (statement) che verranno eseguiti quando il metodo sarà chiamato.

Per esempio viene presentata una classe chiamata Aritmetica che dichiara un banale metodo che somma due numeri :

 

class Aritmetica

{

    public int somma(int a, int b)

         {

        return (a+b);

         }

}

Notare che: come modificatore il metodo presenta la parola chiave public. Si tratta di uno specificatore d’accesso che di fatto rende il metodo somma accessibile da altre classi. Precisamente i metodi di altre classi potranno, dopo aver istanziato un oggetto della classe Aritmetica, chiamare il metodo somma. Anche per gli specificatori d’accesso approfondiremo il discorso più avanti.

Il tipo di ritorno è un int, ovvero, un intero. Ciò significa che questo metodo avrà come ultima istruzione, un comando (return) che restituirà un numero intero.

Per quanto riguarda i parametri che verranno passati a questo metodo, sono due interi che saranno sommati all’interno del blocco di codice, e la loro somma restituita come risultato finale.

Concludendo, la dichiarazione di un metodo definisce quali azioni deve compiere il metodo stesso quando sarà chiamato.

- Chiamata di un metodo:

Presentiamo un’altra classe "eseguibile" (ovvero contenente il metodo main), che istanzia la classe Aritmetica e chiama il metodo somma:

1 class Uno

2 {

3     public static void main(String args[])

4     {

5         Aritmetica oggetto1 = new Aritmetica();

6         int risultato=oggetto1.somma(5,6);

7    }

8 }

In questo caso notiamo subito che l’accesso al metodo somma è avvenuto sempre tramite l’operatore dot come nel caso dell’accesso alle variabili. Quindi, tutti i membri (attributi e metodi) pubblici definiti all’interno di una classe, saranno accessibili tramite un’istanza della classe stessa che sfrutta l’operatore dot, proprio con questo tipo di sintassi:

    nomeOggetto.nomeMetodo;

oppure

    nomeOggetto.nomeAttributo;

L’accesso al metodo di un oggetto provoca quindi l’esecuzione del relativo blocco di codice. In questo esempio quindi, abbiamo definito una variabile intera risultato che ha immagazzinato il risultato della somma. Se non avessimo fatto ciò, non avrebbe avuto senso definire un metodo che restituisse un valore, dal momento che non l’avremmo utilizzato in qualche modo! Da notare che avremmo anche potuto sostituire la riga 6, con:

    System.out.println(oggetto1.somma(5,6));

In questo modo, stampando a video il risultato, avremmo potuto verificare in fase di runtime del programma la reale esecuzione della somma.

Esistono anche metodi che non hanno parametri in input per esempio un metodo che somma sempre gli stessi numeri:

class AritmeticaFissa

{

public int somma()

           {

        return (5+6);

           }

}

oppure metodi che non hanno tipo di ritorno, ovvero che dichiarano come tipo di ritorno void (vuoto) come il metodo main. Infatti il metodo main, è il punto di partenza del runtime di un’applicazione Java, quindi non deve restituire niente non essendo chiamato esplicitamente da un altro metodo.

Esistono ovviamente anche metodi che non hanno né parametri in input né in output (tipo di ritorno void), come per esempio un ipotetico metodo stampa che visualizza a video sempre lo stesso messaggio:

class Saluti

{

public void stampaSaluto()

           {

        System.out.println("Ciao");

            }

}

 

Vai alla pagina:

Elenco delle pagine di "Il linguaggio Java: lez.3"

Introduzione al Modulo 3 - Pagina 1
Unità didattica 2.1) - Pagina 2
Unità didattica 2.2) - Pagina 3
Unità didattica 2.3) - Pagina 4
Unità didattica 2.4) - Pagina 5
Unità didattica 2.5) - Pagina 6
Unità didattica 2.6) - Pagina 7



[Indietro]    [Su]      [Home]      [Commenti]      [V. Stampabile]

Commenta questa notizia:
Non hai ancora fatto il
Login, puoi inserire commenti solo come anonimo.
ATTENZIONE: il tuo IP verrà memorizzato e mostrato a fianco del commento; con la pressione del tasto invia commento si esprime il consenso alla pubblicazione di tale informazione personale.
A discrezione dello staff, i commenti ritenuti non adatti od offensivi potranno essere rimossi. Nel caso di utilizzo di espressioni volgari od offensive il comportamento verrà segnalato al provider interessato.
Se non ti sei ancora registrato, cosa aspetti? Registrati subito.

Da ora puoi discutere dei problemi informatici anche sul nostro FORUM

Testo del commento:




  News correlate

 Corso Java @ilsoftware.it
 Il linguaggio Java: lez.10/10
 Il linguaggio Java: lez.9
 Il linguaggio Java: lez.8
 Il linguaggio Java: lez.7
 Il linguaggio Java: lez.6
 Il linguaggio Java: lez.5
 Il linguaggio Java: lez.4


Domini Email SpazioWeb
a partire da € 9.99+IVA annui


  Ultime dal Forum

ciao forum!!!
Offertissima
per chi ha tanti contatti
Discount di codici!!!Prezzi da urlo! :o
DROP SHIP-DROP SHIPPING ITALIA
PTcassh nuova ptc paga entro 5 giorni
Il Migliore
Migliori PTC
Guadagnare fino a $0.02 guardando pubblicità

Comunicazioni / Note Legali / Staff / Collabora / Pubblicità / Contatti


Copyright ZETA TECH S.r.l. (P.IVA : 02387250307), tutti i diritti riservati Utenti Connessi: 587

Programmi


Pagina creata in 0.13sec. Powered by Zeta Tech S.r.l.

Stats v0.1 (0.000sec.)