Вход | Регистрация

Информационные технологии ::

Метки: 

Слияние N-количество объектов в один

Я
   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
   alexandr_87
 
2 - 20.06.18 - 17:00
спасибо будем изучать
   Garykom
 
3 - 20.06.18 - 17:18
(1) В данном случае лишнее, ибо достаточно объявить
public interface Complex { 
    public List<Object> items;
} 

   Ненавижу 1С
 
4 - 20.06.18 - 17:20
(3) тогда уж

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

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

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


Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует