package esprreali;

public class Variabile extends EsprReale {
  private String nome;

	// si deve poter accedere al nome della variabile
  public Variabile(String n) {
    nome=n;
  }

  public String getNome() {
    return nome;
  }

	// va restituito il nome e basta, non una concatenazione
	// del tipo "Variable: "+nome. Vedi il commento in
	// Costante.java
  public String toString() {
    return nome;
  }

	// vedi anche il metodo equals di Costante.java; dal
	// momento che la componente nome e' di tipo oggetto, il
	// confronto va fatto usando il metodo equals (di String)
	// e non ==
  public boolean equals(Object o) {
    if(!this.stessaClasse(o))
      return false;

    Variabile v=(Variabile) o;

    return nome.equals(v.nome);
  }

  public int hashCode() {
    return nome.hashCode();
  }

	// dal momento che le stringhe non sono clonabili, ha
	// senso fare una clonazione senza replicare il nome delle
	// variabile; in questo caso, si puo' non ridefinire
	// clone e usare quello di EsprReale, che
	// implementa una clonazione superficiale;
}


