package espressioni;

// questa e' una classe astratta perche' tutti i "suoi"
// oggetti sono anche EspressioneSingola oppure
// EspressioneScelta

public abstract class EspressioneStringa implements Cloneable {

// nessuna componente comune

// stessaClasse, per facilita' delle sottoclassi

  boolean stessaClasse(Object o) {
    if(null==o)
      return false;

    return this.getClass()==o.getClass();
  }

// solito clone; notare che questa classe e' direttamente
// sottoclasse di Object, per cui va catturata l'eccezione

  public Object clone() {
    try {
      return super.clone();
    }
    catch(CloneNotSupportedException e) {
      return null;
    }
  }

}
