|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Member
Iscritto dal: Dec 2010
Messaggi: 35
|
Domanda Polimorfismo (c#)
Scusate potreste dirmi se è corretto concettualmente un codice del genere (mi riferisco a PrintTarga )?
Secondo me non è il massimo della programmazione ad oggetti. Il casting da Car ad una classe che lo estende, secondo voi è "pulito"? ps Per velocizzare ho messo tutto public, ma mi interessa sapere se l'uso di is... è corretto concettualmente. Quote:
Ultima modifica di mutaforme : 28-10-2016 alle 14:59. |
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2009
Messaggi: 845
|
Non so cosa intenda con "pulizia", ma questo modo di scrivere codice è poco estendibile.
Il mainProgram non dovrebbe essere al corrente dell'implementazione di ogni singola subclass di Car. Ci sono diverse soluzioni possibili, una potrebbe essere: public interface Car () { public string getTarga(); } public class Generic : Car { private string targa = 'aa000bb'; public string getTarga(){ return targa; } } public class Ferrari : Car { private string targa = 'aa000bb'; private string targaSpeciale = 'abcdef'; public string getTarga(){ return targa + targaSpeciale; } } E, nel mainProgram: void printTarga(Car A) { print A.getTarga(); } |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:43.


















