2016-04-11 1 views
0

Je suis en train d'implémenter un AvlTree. Dans l'arbre Avl je veux comparer les hauteurs des sommets pour ajuster l'Avl s'il y a des violations (RR, LR, RL, LL). J'ai donc une classe AvlNode qui a une méthode AvlNode.getHeight(). Mais par exemple quand j'ai ceci: AvlNode.getRightNode(). GetHeight() est une erreur car il n'a pas de noeud droit à ce moment. Évidemment, cela pourrait être corrigé avec des chèques nuls. Mais je veux que ma classe AvlNode donne aux instances nulles la hauteur de 0 sans effectuer ces vérifications. J'ai pensé utiliser une FACADE pour envelopper la classe AvlNode, et chaque fois qu'une méthode getHeight est appelée pour une instance nulle, elle renvoie 0. Y a-t-il une meilleure façon d'atteindre cet objectif?JAVA, donnant une instance qui est encore des attributs nuls

+0

Comment sur la création d'un constructeur avec des valeurs par défaut et attribuer des valeurs réelles lors de l'analyse –

Répondre

0

Je pense que vous pourriez wrapper avec AvlNode.getRightNodeHeight()

+0

Merci. Mais comment puis-je envelopper getHeight avec getRightNode? Je dois getHeight retourner 0 si getRightNode est null – Eyzuky