Правильно ли я переопределяю методы CompareTo и toString в своем коде? - PullRequest
0 голосов
/ 08 апреля 2019

Мое назначение (в итоге) - переопределить в моем коде следующие методы: compareTo (интерфейс Comparable), toString (класс GeometricObject) и equals (класс Object).

Я новичок в Java и не уверен, правильно ли я использую методы @override. Буду признателен за любые отзывы, и если бы вы могли указать мне правильное направление.

Частичный код, который я использую для переопределения указанных методов:

Circle.java частичный код

//Circle.java
@Override /**Override equals(class Object**/
public boolean equals(Object o) {
    return this.compareTo((Circle)o) == 0;
}

@Override /**Override compareTo(interface Comparable)**/
public int compareTo(Circle o) {
    if (this.radius > o.radius)
        return 1;
    else if (this.radius < o.radius)
        return -1;
    else
        return 0;
}

@Override /**Override toString(class GeometricObject**/
public String toString(GeometricObject o) {
    return super.toString()+"\nDate created:"+getDateCreated()+"\nRadius:"+radius; }

GeometricObject.java частичный код

//GeometricObject.java
/** Return color */
public String getColor() {
    return color;
}

/** Set a new color */
public void setColor(String color) {
    this.color = color;
}

/** Return filled. Since filled is boolean,
 *  the get method is named isFilled */
public boolean isFilled() {
    return filled;
}

/** Set a new filled */
public void setFilled(boolean filled) {
    this.filled = filled;
}

/** Get dateCreated */
public java.util.Date getDateCreated() {
    return dateCreated;
}

@Override
public String toString() {
    return "created on"+dateCreated+"\ncolor:"+color+" and filled:" + filled;
}

/** Abstract method getArea */
public abstract double getArea();

/** Abstract method getPerimeter */
public abstract double getPerimeter();

}
...