Nell'ambito della programmazione orientata agli oggetti, l'ereditarietà è un aspetto centrale. Con essa puoi ereditare da classi esistenti e aggiungere nuove funzionalità in classi derivate (Sottom classi). In questo tutorial ti concentrerai sulla creazione di una specifica sottoclasse, il "camion", per apprendere in modo pratico le basi dell'ereditarietà in C#.
Principali risultati
- L'ereditarietà consente di creare una sottoclasse da una classe base.
- I costruttori sono fondamentali per definire proprietà specifiche di una sottoclasse.
- Le metodologie della classe base possono essere sovrascritte nella sottoclasse per definire un comportamento specifico.
Guida passo-passo
Passo 1: Utilizzare l'Esplora soluzioni e aggiungere una classe
Per creare la sottoclasse camion, apri il tuo Esplora soluzioni. Qui fai clic con il tasto destro sul tuo progetto e seleziona l'opzione "Aggiungi". Scegli di aggiungere una nuova classe e chiamala "Camion". Questa classe conterrà tutte le proprietà e i metodi specifici per i camion.

Passo 2: Creare una variabile privata
Nella classe camion, il passo successivo è creare una variabile privata che deve memorizzare il numero di assi. Questa informazione è importante, poiché gioca un ruolo nel calcolo delle tariffe autostradali. Puoi chiamare la variabile "numeroAssi". Con questo, la prima parte delle proprietà specifiche del tuo camion è già definita.
Passo 3: Creare i costruttori delle sottoclassi
È ora di creare i costruttori della tua classe camion. Inizia prima con il metodo del costruttore sovraccarico. Questo metodo accetta parametri come modello, consumo e capacità del serbatoio. Passi questi valori al metodo del costruttore della classe base Auto. Devi assicurarti che il numero di assi venga anche definito.
Passo 4: Derivare la sottoclasse dalla classe base
Per assicurarti che la classe camion venga riconosciuta come sottoclasse della classe base Auto, nel header della classe camion aggiungi con i due punti la classe base. Questo stabilisce la relazione tra la classe camion e la classe base Auto, concedendoti accesso ai loro metodi e proprietà.

Passo 5: Creare un secondo metodo costruttore per la sottoclasse
Oltre al metodo sovraccarico, crea un metodo costruttore regolare. Questo dovrebbe avere come parametri modello, consumo e capacità del serbatoio, ma non accettare il numero di assi come input. Invece, verrà impostato di default a due, per gestire lo scenario più comune di un camion.
Passo 6: Sovrascrivere il metodo di guida
Il passo successivo è sovrascrivere il metodo di guida, definito nella classe base Auto. In questo metodo, calcoli i costi di viaggio in base alla distanza percorsa, ai parametri del veicolo e se il camion ha viaggiato su un'autostrada. Devi assicurarti che i costi autostradali vengano calcolati in base al numero di assi.
Passo 7: Utilizzare una dichiarazione Switch per calcolare la tariffa
Qui puoi introdurre una dichiarazione switch che gestisce vari casi per il numero di assi. Questo è importante, poiché i camion con un numero diverso di assi hanno tariffe autostradali diverse. Puoi anche utilizzare strutture di controllo alternative, ma la dichiarazione switch fornisce qui chiarezza e leggibilità.
Passo 8: Chiamare il costruttore della sottoclasse
Ora che la tua classe camion è definita, puoi creare un'istanza della classe nel programma CS. Per farlo, chiami il costruttore della classe camion per generare un nuovo oggetto camion che contenga tutti i parametri necessari. Devi anche specificare quanto consuma il camion e quali sono le sue caratteristiche specifiche.

Passo 9: Guida del camion e output dei costi di viaggio
Dopo aver istanziato il camion, falla viaggiare chiamando il metodo di guida. Passa la distanza percorsa e se il camion ha viaggiato o meno in autostrada. Infine, stampi i costi di viaggio, calcolati in base al numero di assi, nella console.

Riepilogo – Creazione della sottoclasse camion in C#
In questo tutorial hai imparato come creare una sottoclasse camion in C#. Hai appreso e applicato le basi dell'ereditarietà, implementando variabili private e costruttori per la sottoclasse. Hai potuto sovrascrivere metodi e definire comportamenti specifici per i camion. Con queste competenze, ora puoi scrivere programmi orientati agli oggetti più complessi in C#.
Domande frequenti
Qual è la differenza tra una classe e una sottoclasse?Una classe è un modello di template generale, mentre una sottoclasse eredita caratteristiche e metodi specifici dalla classe base.
Come creo un costruttore in C#?Un costruttore è definito dalla classe che crea e ha lo stesso nome della classe senza valore di ritorno.
Posso sovrascrivere un metodo nella sottoclasse più volte?Sì, puoi sovrascrivere un metodo nella sottoclasse. Questo è utile per definire comportamenti specifici per diverse sottoclassi.
Come uso la dichiarazione Switch in C#?La dichiarazione Switch consente di controllare diversi percorsi di codice a seconda del valore di una variabile. È un modo efficace per evitare ramificazioni complesse.