Se ho "Object" come classe di livello superiore, allora ho varie interfacce, ISomething, ISomethingB, ISomethingC
, quindi ho Class x,y,z
, tutto alla fine derivante dalla classe Object (queste sottoclassi non devono derivare da ciascuna altro), non potrei avere una classe in alto come "Object" in. NET portare a, o possibilmente portare a, digitare problemi di sicurezza come:
Object myText = "Johnny";
invece di
string myText = "Johnny";
Se ho usato il primo, significa che potrei fare qualcosa del genere?
Object myText = "Johnny";
double someValue = 0.0;
someValue = "Johnny";
Non ha senso, ma è legale?
Dovrebbe esserci sempre un oggetto principale al tipo di una gerarchia di classi come in .NET da cui derivano tutti gli altri?
Ad esempio, accetta un'applicazione scolastica.
Studenti, personale, classi, voti e così via.
Dovrebbe esserci un oggetto di livello superiore come "Scuola" e tutte quelle classi o interfacce sotto di esso? Non riesco a pensare al perché lo farei. Perché non avere quattro o cinque classi di livello superiore che non si intersecano da nessuna parte?
Modifica: ho letto Perché tutte le classi in .NET ereditano globalmente dalla classe Object?