Introduzione alla programmazione

25.06.2019 Views

www.filoweb.it matematiche, senza alcun requisito per archiviare o recuperare dati univoci per una particolare istanza della classe Math. using System; public static class clstatica { // Non c'è un costruttore quindi non ci può essere un istanza public static int contatore { get; set; } public static int GetCount() { return contatore; } } public class statica { static void Main(string[] args) { clstatica.contatore++; Console.WriteLine(clstatica.GetCount()); } } EREDITARIETÀ DELLE CLASSI L’ereditarietà è uno dei concetti fondamentali della programmazione ad oggetti e quindi anche in C#. Grazie all’ereditarietà una classe può ereditare i dati membro ed i metodi di un’altra classe. Per creare una classe derivata è sufficiente far seguire al suo nome il nome della classe base preceduto da due punti come nell'esempio seguente: class utilitaria : automobile Vediamo di spiegarci meglio: abbiamo due classi: la classe automobile e la classe utilitaria. Le auto utilitarie è un tipo di auto nella realtà e allo stesso modo la classe utilitaria appartiene alle automobili…. Classe Automobile Marca Modello Valore Classe Utilitaria Alimentazione Dotazione Ogni utilitaria sarà quindi anche un’automobile con in più due proprietà: alimentazione e dotazione. Posso quindi istanziare MiaAutomobile come sempre utilitaria MiaAutomobile = new utilitaria(); e devo passare i relativi argomenti. utilitaria MiaAutomobile = new utilitaria( "Fiat", "500", 7500, "GPL", "Base" ); Vediamo un esempio completo….. 28

www.filoweb.it using System; class eredita { public static void Main() { utilitaria MiaAutomobile = new utilitaria( "Fiat", "500", 7500, "GPL", "Base" ); MiaAutomobile.risposta(); } } public class automobile { public string marca; public string modello; public float valore; { } public automobile ( string marca, string modello, float valore ) this.marca=marca; this.modello=modello; this.valore=valore; } class utilitaria : automobile { private string alimentazione; private string dotazioni; public utilitaria ( { } this.alimentazione=alimentazione; this.dotazioni=dotazioni; string marca, string modello, float valore, string alimentazione, string dotazioni ) : base (marca, modello, valore) } { } public void risposta() Console.WriteLine("marca:...........: " + marca ); Console.WriteLine("modello:.........: " + modello ); Console.WriteLine("colore:..........: " + valore ); Console.WriteLine("pagata:..........: " + alimentazione ); Console.WriteLine("anzianità:.......: " + dotazioni ); 29

www.filoweb.it<br />

using System;<br />

class eredita<br />

{<br />

public static void Main()<br />

{<br />

utilitaria MiaAutomobile = new utilitaria(<br />

"Fiat",<br />

"500",<br />

7500,<br />

"GPL",<br />

"Base"<br />

);<br />

MiaAutomobile.risposta();<br />

}<br />

}<br />

public class automobile<br />

{<br />

public string marca;<br />

public string modello;<br />

public float valore;<br />

{<br />

}<br />

public automobile (<br />

string marca,<br />

string modello,<br />

float valore<br />

)<br />

this.marca=marca;<br />

this.modello=modello;<br />

this.valore=valore;<br />

}<br />

class utilitaria : automobile<br />

{<br />

private string alimentazione;<br />

private string dotazioni;<br />

public utilitaria (<br />

{<br />

}<br />

this.alimentazione=alimentazione;<br />

this.dotazioni=dotazioni;<br />

string marca,<br />

string modello,<br />

float valore,<br />

string alimentazione,<br />

string dotazioni<br />

) : base (marca, modello, valore)<br />

}<br />

{<br />

}<br />

public void risposta()<br />

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

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

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

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

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

29

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

Saved successfully!

Ooh no, something went wrong!