Создание класса square расширение класса rectangle

#java

Вопрос:

Мне было поручено создать класс Square, который расширяет класс Rectangle, который переопределяет методы, чтобы Квадрат сохранял свою «прямоугольность» (все стороны равны). Я завершил методы для добавления(int, int) и добавления(прямоугольник), но борюсь с переопределением метода grow(int, int). Этот метод должен переопределить метод grow(int, int) таким образом, чтобы квадрат вырос по крайней мере на столько же и все еще сохранял свою прямоугольность. Как я могу исправить этот метод, чтобы он переопределял метод классов прямоугольников и работал правильно? Вот мой код:

 public class Square extends Rectangle{
    
    private int x;
    private int y;
    private int s;
    
    public Square(int x, int y, int s) {
        super(x,y,s, s);
        this.x=x;
        this.y=y;
        this.s=s;
}

    @Override
    public void add(int one, int two) {
        
        super.add(one, two);
        super.add(this.getX()  this.getHeight() , this.getY()   this.getWidth() );
        
        
        }
    
    @Override
    public void add(Rectangle rec) {
        super.add(rec);
        super.add(this.getX()  this.getHeight() , this.getY()   this.getWidth() );
    }

    @Override
    public void grow(int one, int two) {
        
        super.grow(one,two);
        this.add(one,two);
    
}}
 

Комментарии:

1. Можете ли вы также опубликовать реализацию прямоугольника?

2. Прямоугольник-это класс прямоугольника Java API :

3. public void grow(int h, int v) Изменяет размер прямоугольника как по горизонтали, так и по вертикали. Этот метод изменяет прямоугольник таким образом, чтобы он был на h единиц больше как с левой, так и с правой стороны, и на v единиц больше как сверху, так и снизу. Новый прямоугольник имеет (x — h, y — v) в качестве верхнего левого угла, ширину (ширина 2h) и высоту (высота 2 в). Если для h и v заданы отрицательные значения, размер прямоугольника соответственно уменьшается».

4. Если для h и v заданы отрицательные значения, размер прямоугольника соответственно уменьшается. Метод grow проверит переполнение и недостаточный поток целых чисел, но не проверяет, увеличиваются ли результирующие значения ширины и высоты от отрицательных до неотрицательных или уменьшаются от неотрицательных до отрицательных. Параметры: h — горизонтальное расширение v — вертикальное расширение