Stavo leggendo alcuni post e ho notato dei campioni con una classe interiore. L'ho visto molto ultimamente, in particolare in alcuni esempi su MSDN che stavo sfogliando. Non ho mai dovuto usare una classe interiore prima (ma forse dovrei davvero esserlo) quindi mi chiedo quale sia esattamente il punto? Suppongo che una classe interiore (almeno una privata) sia disponibile solo per la classe principale stessa, quindi non sarebbe lo stesso semplicemente incorporare qualsiasi funzionalità della classe interna in alcuni metodi della classe esterna? C'è una ragione OO dietro la classe interiore?Scopo di una classe interiore?
Sto pensando principalmente a C#, ma suppongo che questo possa applicarsi a qualsiasi linguaggio OO che supporti una classe interna.
Prendere this sample on msdn ad esempio: CharacterCollection e WordCollection sono classi pubbliche all'interno della classe Documento. Che differenza ci sarebbe se questi fossero al di fuori della classe Documento?
Quindi, in questo esempio, come utilizzeresti il nodo? Quando penso che sia pubblico, immagino che in qualche modo ho accesso ad esso al di fuori di Tree, sarebbe il caso o il fatto che il nodo sia pubblico in qualche modo lo induca a scavalcare un'altra classe di Nodo che si trova all'esterno di Tree? – pinkfloydx33
Sì, poiché è esterno all'albero, è accessibile come "Albero :: Nodo", assicurando in tal modo che stai ricevendo il Nodo desiderato. È anche chiaro a tutti gli altri lettori del codice che Node intendi. –
All'interno di Tree quindi presumo che non sia necessario specificare che si desidera Tree :: Node versus SomeOtherNS :: Node? – pinkfloydx33