Задача про квадрат

Используя композицию и делегирование реализовать класс Square (квадрат) на основе уже имеющегося класса Rectangle (прямоугольник).
class Rectangle{
	private double width, height;

	public Rectangle(double w, double h){
		setWidth(w);
		setHeight(h);
	}

	public double getWidth() {
		return width;
	}
	public void setWidth(double width) {
		this.width = width;
	}
	public double getHeight() {
		return height;
	}
	public void setHeight(double height) {
		this.height = height;
	}

	public double getArea(){
		return width * height;
	}
	public double getPerimeter(){
		return width*2 + height*2;
	}
	public void print(){
		System.out.println(getWidth() + " x " + getHeight());
	}
}

Интерфейс класса Square:

  • Square(double side);
  • getSide()/setSide();
  • getArea() - расчет площади;
  • getPerimeter() - расчет периметра;
  • print() - вывод на экран в том же формате, что и в классе Rectangle;

Технические подробности

  1. Метод print() распечатывает стороны квадрата в следующем виде: "5.0 x 5.0".
  2. Т.к. в одном .java-файле получается 2 класса, объявите как public class только один из них. Второй класс - без каких-либо модификаторов доступа.

Примеры

Вход
Выход
Square s = new Square(2);
s.print();
System.out.println(s.getArea() + " " + s.getPerimeter());
2.0 x 2.0
4.0 8.0

Скачать Square_Tests.java
Comments