Se devo classi A, B, C, D, E
e interfacce come X, Y, Z
, e il modello di un sistema come:allocazione di memoria per una classe che ha una profonda eredità nel .NET
class B : A, X
class C : B, Y
class D : C, Z
class E : D
Se A
è una classe base astratta ed E è il classe di interesse, quando creo un'istanza di E, creerebbe a sua volta istanze di A, B, C, D, X, Y, Z
oltre a E
?
Se questo è il caso, ciò creerebbe un enorme sovraccarico di prestazioni? Non memoria, ma runtime e GC saggio.
Siamo spiacenti, ma non esistono istanze create per eredità! – AxelEckenberger
@ Obalix, annotare le virgolette attorno a quelle incorporate. Ma sì, alla fine c'è solo 1 istanza coinvolta. –
Grazie Henk, quindi in questo caso, ad esempio se dovessi unire queste classi in una singola classe senza ereditarietà, sarebbero praticamente uguali in termini di memoria, GC e prestazioni di runtime? –