public Numero crearFraccionCon(Numero numerador, Numero denominador) { return(numerador.dividido(denominador)); }
public abstract Numero por(Numero multiplicador);
public abstract Numero dividido(Numero divisor);
public override Numero dividido(Numero divisor) { throw new NotImplementedException(); }
public abstract Numero mas(Numero sumando);
public override Numero mas(Numero sumando) { return(sumando.masPuntoFlotante(this)); }
public override Numero por(Numero multiplicador) { throw new NotImplementedException(); }
override public Numero por(Numero multiplicador) { return(multiplicador.porEntero(this)); }
override public Numero dividido(Numero divisor) { return(divisor.dividirEntero(this)); }
override public Numero mas(Numero sumando) { return(sumando.masEntero(this)); }
override public Numero masEntero(Entero sumando) { Numero nuevoNumerador = denominador.por(sumando).mas(numerador); return(nuevoNumerador.dividido(denominador)); }
override public Numero mas(Numero sumando) { return(sumando.masFraccion(this)); }
override public Numero dividido(Numero divisor) { return(divisor.dividirFraccion(this)); }
override public Numero por(Numero multiplicador) { return(multiplicador.porFraccion(this)); }