Java Reference
In-Depth Information
The other methods of class Rational perform the arithmetic operations.
public Rational plus(Rational other) {
if (denominator ## other.denominator)
return new Rational(numerator ! other.numerator,
other.denominator);
else
return new Rational(numerator * other.denominator !
denominator * other.numerator,
denominator * other.denominator);
}
public Rational minus(Rational other) {
if (denominator ## other.denominator)
return new Rational(numerator - other.numerator,
denominator);
else
return new Rational(numerator * other.denominator -
denominator * other.numerator,
denominator * other.denominator);
}
public Rational mul(Rational other) {
return new Rational(numerator * other.numerator,
denominator * other.denominator);
}
public Rational div(Rational other) {
return new Rational(numerator * other.denominator,
denominator * other.numerator);
}
public void copyOf(Rational other) {
this .numerator # other.numerator;
this .denominator # other.denominator;
}
}
Class Format implements the generic representation format. It is declared
public in order to be visible from outside the package (e.g. from the
command line interpreter). The method getName() is public and is therefore
visible from outside the package, while the other two methods are visible
only from other classes belonging to the same package. These choices about
visibility are dictated by the information hiding principle, i.e. show only
what is necessary, hide all the rest. The immediate benefit of this approach
is that the interactions between the classes are clear.
public abstract class Format {
// public members
public abstract String getName();
// package visible member
abstract String toString(Rational number);
Search WWH ::




Custom Search