Bonjour à tous,
Je suis un tout nouveau pratiquant du Java et je me vois déjà confronté à quelque chose que je ne comprends pas du tout...
Voici la définition d'une classe :
La partie que je ne me représente pas du tout (mais pas du tout...) est celle-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class AbstractEdge<ActualEdgeType extends AbstractEdge<ActualEdgeType, VertexType>, VertexType extends AbstractVertex<ActualEdgeType, VertexType>> implements GraphEdge<ActualEdgeType, VertexType> { private VertexType source; private VertexType target; private int label; private ActualEdgeType nextOutgoingEdge; private ActualEdgeType nextIncomingEdge; public AbstractEdge(VertexType source, VertexType target) { //compiled code throw new RuntimeException("Compiled Code"); } }
Comment AbstractEdge peut-il hériter de lui-même ? Je ne comprends pas comment ces objets peuvent s'instancier ni comment ils sont représentés, notamment, en UML, comment serait décrite cette classe ?class AbstractEdge<ActualEdgeType extends AbstractEdge<ActualEdgeType, VertexType>
Ensuite, ActualEdgeType et VertexType sont des classes "temporaires" ? Car j'ai, là aussi, du mal à comprendre comment je peux étendre une classe dans la définition-même d'une classe...
Je vous remercie d'avance de toute l'aide que vous pourrez m'apporter !
Bonne journée à tous
Partager