Имя: Пароль:
IT
 
Слияние N-количество объектов в один
0 alexandr_87
 
20.06.18
16:53
Есть интерфейс Shape:
public interface Shape {
    public double area();
}

есть классы circle,rectangle, triangle
public class Circle implements Shape{
  public double getArea() {
    return //формула
  }
}
public class Rectangle implements Shape{
  public double getArea() {
    return //формула
  }
}

public class Triangle implements Shape{
  public double getArea() {
    return //формула
  }
}
При создание объектов у пользователя будет возможность объединять эти объекты, комбинации много, на выходе получится новый составной объект. Вопрос как объединить эти объекты в один составной. Спасибо.
1 Ненавижу 1С
 
гуру
20.06.18
16:55
2 alexandr_87
 
20.06.18
17:00
спасибо будем изучать
3 Garykom
 
гуру
20.06.18
17:18
(1) В данном случае лишнее, ибо достаточно объявить

public interface Complex {
    public List<Object> items;
}
4 Ненавижу 1С
 
гуру
20.06.18
17:20
(3) тогда уж

public class Complex implements Shape {
    private List<Object> items;
}
5 Garykom
 
гуру
20.06.18
17:22
(4) Множественное наследование интерфейсов разрешено и удобнее ибо составной объект != фигурный
6 Garykom
 
гуру
20.06.18
17:23
(4) Хотя если составной объект всего одного вида то да
7 Ненавижу 1С
 
гуру
20.06.18
17:23
(5) 1. в интерфейсе не бывает полей
2. составной объект наоборот удобнее когда того же интерфейса
8 Garykom
 
гуру
20.06.18
17:26
(7) >1. в интерфейсе не бывает полей

Это в C# не бывает, а тут ХЗ что ))
9 Garykom
 
гуру
20.06.18
17:29
(8)+ Объявлен метод "area()" а реализованы какие то "getArea()"
10 alexandr_87
 
20.06.18
17:54
Данный пример на яве, в спешку писал не обратил внимание
11 Ching Wo
 
20.06.18
20:44
(0) Это что за изык?
12 Сияющий в темноте
 
20.06.18
22:22
А что мы хотим получить на выходе?Обьект,который может быть одним из обьектов?он жн итак есть,так как любой из обьектов можно преобразовать к базовому классу.
13 Garykom
 
гуру
20.06.18
22:31
(12) ТС просто принципы ООП не совсем понял и подумал что ими можно составные объекты описывать, без дополнительных полей.
14 Сияющий в темноте
 
20.06.18
22:39
Он,видимо,хочет рсзбить область на примитивы,то есть получить возможность создания сложных областей
и в ооп это тоже можно создать еще один обьект,содержащий коллекцию примитивов,но нужно будет переопределять для коллекции функцию вычисления прощади,опять же,можно рассматривать и сложные коллекции
15 Сияющий в темноте
 
20.06.18
22:41
коллекция,например,может состоять из круга с исключенным из него треугольником

например,так работают регионы в windows
16 Garykom
 
гуру
20.06.18
22:50
Угу похоже на какой то графический редактор планов чего то.
Примитивами рисует добавляя и получает единый объект для которого считается общая площадь.
17 alexandr_87
 
23.06.18
12:42
Вы правы,из примитивных фигур будут создаваться сложные как один новый объект.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn