|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
How to build Objects containing itself?
Hi!
So, here's my next question about object orientation in Ada. In languages like Ruby, C++ or Java, the following construct is possible (here in Java): class State { HashMap<char, Statetransitions = new HashMap<char, State>(); } Perhaps you're wondering, what this code is meant to be. Some time ago I programmed a stack-structure simulating a trie as part of a incremental search-algorithm. The idea was to have a state-object containing a mapping of characters pointing to state-objects again. So, the result is a data-structure containing instances of its own data type again. As object orientation is a bit different in Ada, the previous code example would be something like this in Ada: package State is type State is tagged record Transitions : Transition_Maps.Map; end record; package Transition_Maps is new Ada.CMaps (Key_Type =Character, Element_Type =State, "<" ="<", "=" ="="); use Transition_Maps; end State; As you can see, we have a "What had been there first? The hen or the egg?"-problem: The State-record requires an instance of Transition_Maps.Map which is declared after the State-record's definition. But because Transition_Maps.Map needs a State as Element_Type changing the order ends in the same problem. So, has anybody an idea, how to solve this paradox? Thanks, Matthias |
![]() |
| Viewing: Web Development Archives > FAQs > Programming > How to build Objects containing itself? |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|