mutaforme
28-10-2016, 13:45
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.
class Car ()
{
public string targa="";
}
class Ferrari () : Car
{
public string targaSpeciale="";
}
class Mercedes () : Car
{
public string targaStraniera="";
}
Funzione nel mainProgram:
void PrintTarga (Car A)
{
if (A is Ferrari)
{
Ferrari B=(Ferrari)A;
Console.Writeline(A.targa+B.targaspeciale);
// do something about Ferrari...
}
else if (A is Mercedes)
{
Mercedes B=(Mercedes)A;
Console.Writeline(A.targa+B.targaStraniera);
//do something about Mercedes...
}
else
{
Console.WriteLine(A.targa)
}
}
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.
class Car ()
{
public string targa="";
}
class Ferrari () : Car
{
public string targaSpeciale="";
}
class Mercedes () : Car
{
public string targaStraniera="";
}
Funzione nel mainProgram:
void PrintTarga (Car A)
{
if (A is Ferrari)
{
Ferrari B=(Ferrari)A;
Console.Writeline(A.targa+B.targaspeciale);
// do something about Ferrari...
}
else if (A is Mercedes)
{
Mercedes B=(Mercedes)A;
Console.Writeline(A.targa+B.targaStraniera);
//do something about Mercedes...
}
else
{
Console.WriteLine(A.targa)
}
}