Здравствуйте! В данной статье я хочу рассказать о своем опыте применения интерфейсов для написания программы расчета периметра и площади геометрических фигур⁚ круга, прямоугольника и треугольника. Я также рассмотрел задание цвета заливки и границы для каждой фигуры, а также вывод результирующих характеристик в консоль.Для начала, я создал интерфейс ″Фигура″, который определяет базовые методы для расчета периметра и площади фигуры⁚
java
public interface Фигура {
double периметр;
double площадь;
}
Затем, я создал классы для каждой фигуры ⎼ Круг, Прямоугольник и Треугольник ⎼ и реализовал интерфейс ″Фигура″ в каждом из них⁚
java
public class Круг implements Фигура {
private double радиус;
private String цветФона;
private String цветГраницы;
public Круг(double радиус, String цветФона, String цветГраницы) {
this.радиус радиус;
this.цветФона цветФона;
this.цветГраницы цветГраницы;
}
public double периметр {
return 2 * Math.PI * радиус;
}
public double площадь {
return Math.PI * Math.pow(радиус, 2);
}
}
public class Прямоугольник implements Фигура {
private double длина;
private double ширина;
private String цветФона;
private String цветГраницы;
public Прямоугольник(double длина, double ширина, String цветФона, String цветГраницы) {
this.длина длина;
this.ширина ширина;
this;цветФона цветФона;
this.цветГраницы цветГраницы;
}
public double периметр {
return 2 * (длина ширина);
}
public double площадь {
return длина * ширина;
}
}
public class Треугольник implements Фигура {
private double сторона1;
private double сторона2;
private double сторона3;
private String цветФона;
private String цветГраницы;
public Треугольник(double сторона1٫ double сторона2٫ double сторона3٫ String цветФона٫ String цветГраницы) {
this.сторона1 сторона1;
this.сторона2 сторона2;
this.сторона3 сторона3;
this.цветФона цветФона;
this.цветГраницы цветГраницы;
}
public double периметр {
return сторона1 сторона2 сторона3;
}
public double площадь {
double полупериметр (сторона1 сторона2 сторона3) / 2;
return Math.sqrt(полупериметр * (полупериметр ⎼ сторона1) * (полупериметр ⎼ сторона2) * (полупериметр ⎼ сторона3));
}
}
Затем, я создал объекты для каждой фигуры и вызвал методы для расчета периметра и площади. Также я передал параметры для задания цвета заливки и границы каждой фигуры⁚
java
public class Main {
public static void main(String[] args) {
Круг круг new Круг(5٫ ″красный″٫ ″черный″);
Прямоугольник прямоугольник new Прямоугольник(4, 6, ″зеленый″, ″синий″);
Треугольник треугольник new Треугольник(3٫ 4٫ 5٫ ″желтый″٫ ″оранжевый″);
System.out.println(″Круг⁚″);
System.out.println(″Периметр⁚ ″ круг.периметр);
System.out.println(″Площадь⁚ ″ круг.площадь);
System.out.println(″Цвет фона⁚ ″ круг;цветФона);
System.out.println(″Цвет границы⁚ ″ круг.цветГраницы);
System.out.println(″Прямоугольник⁚″);
System.out.println(″Периметр⁚ ″ прямоугольник.периметр);
System.out.println(″Площадь⁚ ″ прямоугольник.площадь);
System.out.println(″Цвет фона⁚ ″ прямоугольник.цветФона);
System.out.println(″Цвет границы⁚ ″ прямоугольник.цветГраницы);
System.out.println(″Треугольник⁚″);
System.out.println(″Периметр⁚ ″ треугольник.периметр);
System.out.println(″Площадь⁚ ″ треугольник.площадь);
System.out.println(″Цвет фона⁚ ″ треугольник.цветФона);
System.out.println(″Цвет границы⁚ ″ треугольник.цветГраницы);
}
}
Таким образом, я применил интерфейсы для написания программы расчета периметра и площади различных геометрических фигур. Кроме того, я задал цвет заливки и границы для каждой фигуры и вывел результирующие характеристики в консоль. Надеюсь, мой опыт будет полезен для вас!