Is this data structure a hypertree or they are just isomorphic trees?
You can describe what's going on here with the notion of a functor, extending things which you would do naturally with three different types (ints, chars, and floats) to trees over these types.

What you have is in effect only a single tree, e.g.
$$
T = \left\{\mspace{45mu}\begin{array}{c@{}c@{}c}
&amp; (4,a\mspace{-18mu}&amp;,3.5) \\
&amp;/&amp;\backslash \\
&amp;\mspace{-60mu}(3,f,1.0) &amp; (1,y\mspace{-36mu}&amp;,3.1) \\
&amp; &amp;  /&amp;\backslash \\
&amp; &amp;\mspace{-60mu}(4,e,2.3) &amp; (7,f,7.7)\mspace{-60mu}
\end{array}\mspace{50mu}\right\}
$$
and mappings from this tree over tuples, to the trees which are visible by the classes,
$$
A = \left\{\mspace{-10mu}\begin{array}{c}
4 \\
\;/ \;\;\backslash &amp;  \\
\;3 \quad 1 \\
\;~ \quad\; / \;\; \backslash \\
\;~ \quad\;4 \quad7
\end{array}\mspace{-10mu}\right\},
\qquad
B = \left\{\mspace{-10mu}\begin{array}{c}
a \\
\;/ \;\backslash &amp;  \\
\,f \quad y \\
\,~ \quad\; / \;\; \backslash \\
\,~ \quad\;e \quad f
\end{array}\mspace{-10mu}\right\},
\qquad
C = \left\{\mspace{-20mu}\begin{array}{c}
3.5 \\
\,/ \;\;\backslash &amp;  \\
\;1.0 \quad 3.1 \\
\;~ \quad\;\;\;\; / \;\; \backslash \\
\;~ \quad\;\;\;\; 2.3 \quad 7.7
\end{array}\mspace{-10mu}\right\}.
$$
The mappings which carry $T \mapsto A$, $T \mapsto B$, and $T \mapsto C$ can be desribed in terms of the projectors
$$\begin{align*}
\pi_1 \;\;:\;\; \text{int} \times \text{char} \times \text{float} &amp;\to\;\; \text{int} \;, \\
\pi_2 \;\;:\;\; \text{int} \times \text{char} \times \text{float} &amp;\to\;\; \text{char} \;, \\
\pi_3 \;\;:\;\; \text{int} \times \text{char} \times \text{float} &amp;\to\;\; \text{float}
 \;.
\end{align*}$$
Each of these "projector" maps $\pi_j$ can be extended to a mapping on trees, using the tree functor which carries all functions $f: A \to B$ to functions on trees, $\text{Tree}(f) : \text{Tree}(A) \to \text{Tree}(B)$ in the obvious way, preserving the tree structure for any given tree, and applying the function $f$ to each node in the tree. Thus
$$\begin{align*}
A &amp;= \Bigl[\text{Tree}(\pi_1)\Bigr](T), \\
B &amp;= \Bigl[\text{Tree}(\pi_2)\Bigr](T), \\
C &amp;= \Bigl[\text{Tree}(\pi_3)\Bigr](T).
\end{align*}$$
So these trees are just the images of $T$ under projection maps in the natural way; they aren't meaningfully independent of one another, and what the classes do which can only access one of these trees is that they can only access information about $T$ through these projections.