[1]
Si consideri il tipo di dati astratto modificabile
StringBinaryTree,
utilizzato per rappresentare una collezione mutabile di alberi binari
contenenti campi informativi rappresentati da stringhe di caratteri.
In particolare supponiamo di considerare l'astrazione descritta
dalla seguente classe (definita parzialmente).
public class StringBinaryTree {
public StringBinaryTree()
public StringBinaryTree(String value)
public StringBinaryTree(String value, StringBinaryTree left, StringBinaryTree right)
public StringBinaryTree getLeft()
public StringBinaryTree getRight()
public StringBinaryTree getParent()
public void setLeft(StringBinaryTree newLeft)
public void setRight(StringBinaryTree newRight)
public void setParent(StringBinaryTree newParent)
public boolean isRightChild()
public boolean isLeftChild()
public String value()
public void setValue(String value)
}
Si completi la specifica del tipo di dati astratto, includendo una overview con la descrizione
di un'istanza tipica e fornendo la specifica completa dei metodi, comprese le eventuali eccezioni lanciate.