25.06.2019 Views

Introduzione alla programmazione

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

www.filoweb.it<br />

This è una parola chiave molto importante che tra le altre caratteristiche ha quella di poter essere utilizzata<br />

come istanza corrente di una classe.<br />

Modifichiamo la classe automobile come segue:<br />

public class automobile<br />

{<br />

private string marca;<br />

private string modello;<br />

private string colore;<br />

private byte anni;<br />

private float pagata;<br />

public automobile(<br />

string marca,<br />

string modello,<br />

string colore,<br />

byte anni,<br />

float pagata<br />

)<br />

{<br />

this.marca = marca;<br />

this.modello = modello;<br />

this.colore = colore;<br />

this.anni = anni;<br />

this.pagata = pagata;<br />

}<br />

}<br />

public float valorenuovo()<br />

{<br />

return pagata - anni * 100;<br />

}<br />

public void risposta()<br />

{<br />

Console.WriteLine("marca:...........: " + marca );<br />

Console.WriteLine("modello:.........: " + modello );<br />

Console.WriteLine("colore:..........: " + colore );<br />

Console.WriteLine("pagata:..........: " + pagata );<br />

Console.WriteLine("anzianità:.......: " + anni );<br />

Console.WriteLine("Valore attuale:..: " + valorenuovo() );<br />

}<br />

Vediamo che in questo modo posso usare gli stessi nome sia per i parametri della classe che per i<br />

costruttori.<br />

Per capirci all’interno del costruttore this.marca rappresenta il campo marca della classe mentre<br />

marca è il parametro passato al costruttore.<br />

OVERLOAD DEI METODI<br />

L’overloading dei metodi permette di usare lo stesso nome per diversi metodi all’interno delle classi<br />

(ricordiamo che Un metodo è un blocco di codice che contiene una serie di istruzioni).<br />

Si può fare questa operazione solo nel caso che la signature (firma) sia diversa, quando per firma si intende<br />

un differente numero o tipo di parametri.<br />

public void risposta(int valore)<br />

{<br />

...<br />

}<br />

26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!