package kalk;
/** Class que representa uma formula
@see Expressao */
public class Formula extends Expressao{
//CONSTRUTOR
/** Construtor que recebe uma String coma formula a associar ao objecto **/
public Formula(String formula, Celula celula){
super(formula, celula);
}
public Number obtemValor() {
if (_expressaoString.substring(1,4).equals("ADI")) this=new FormulaADI(_expressaoString, _celula);
if (_expressaoString.substring(1,4).equals("SUB")) this=new FormulaSUB(_expressaoString, _celula);
if (_expressaoString.substring(1,4).equals("MUL")) this=new FormulaMUL(_expressaoString, _celula);
if (_expressaoString.substring(1,4).equals("DIV")) this=new FormulaDIV(_expressaoString, _celula);
if (_expressaoString.substring(1,4).equals("MED")) this=new FormulaMED(_expressaoString, _celula);
if (_expressaoString.substring(1,5).equals("SOMA")) this=new FormulaSOMA(_expressaoString, _celula);
if (_expressaoString.substring(1,4).equals("MAX")) this=new FormulaMAX(_expressaoString, _celula);
return this.obtemValor();
}
/** Metodo que diz se a expressao e' uma formula
@return true porque a expressao e' uma formula **/
public boolean eFormula(){
return true;
}
}