[VB.NET] Definizione ricorsiva di classi e ereditarietà

lunedì 11 novembre 2013 - 10.22
Tag Elenco Tags  VB.NET  |  Visual Studio 2010

DanTecoda Profilo | Newbie

Ciao a tutti. Sviluppo utilizzando Visual Studio 2012. Ho un problema legato all'ereditarietà delle classi. Mi spiego. Ho una classe, chiamiamola ClasseBase, ed una classe da questa ereditata, stesso nome ClasseBase, ma in un namespace differente. La classe base contiene nelle sue definizioni un oggetto riferito a sè stessa.
Namespace Spazio1 Public Class ClasseBase Friend C1 as ClasseBase Public Overridable Sub CostruisciC1 C1 = new ClasseBase End Sub End namespace

Ovviamente poi ho tutti i metodi che utilizzano l'oggetto C1. Fin qui, tutto a posto. Il problema si verifica quando vado ad istanziare la classe figlia. Ho provato inizialmente ad adombrare la definizione di C1 con una nuova, e ad implementare nuovamente il costruttore di C1 tramite overrides:

Namespace Spazio2 Public Class ClasseBase Inherits Spazio1.ClasseBase Friend Shadows C1 As ClasseBase Public Overrides Sub CostruisciC1 C1 = new ClasseBase End Sub End Namespace

Ora sussiste il problema, perchè quando vado a ristanziare la classe figlia, i metodi ereditati continuano a fare riferimento all'oggetto C1 di quella padre, ovviamente non istanziato. Perchè? C'è un modo per uscire da questo giro? Grazie.

Ragazzi, allora, le cose sono due:
a) La mia domanda è banale, dunque dovrebbe essere altrettanto semplice rispondere
b) La mia domanda è complicata a tal punto che nessuno sa rispondere, e in tal caso devo cambiare strategia

In ambo i casi però vorrei da voi una risposta, perché questa cosa è fondamentale e mi sta tenendo bloccato. Grazie ancora!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5