powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как правильно организовать взаимодействие классов?
5 сообщений из 5, страница 1 из 1
Как правильно организовать взаимодействие классов?
    #32925201
AlexG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть класс ФИГУРА. Этот класс использует другой класс РИСОВАНИЕ для своей прорисовки. От каждого из этих классов произведены с помощью наследования классы, которые описывают более частные случаи, например КВАДРАТ, или КРУГ. Соответственно и для прорисовки. Уменя есть класс ФАБРИКА, которая создает необходимую связку классов и передает ссылку на созданный объект, напрмер КВАДРАТ, как ФИГУРУ в основную программу. Основная программа вызывает метод НАРИСОВАТЬ, который вызывает метод рисования класса РИСОВАНИЕ, тем самы вызывая объект нарисовать себя соответствующим образом. Надеюсь, шаблон понятен. Так вот, мне не понятно следующее: как используемый объект РИСОВАНИЕ узнает о том, ЧТО ему нужно будет отрисовать? КВАДРАТ рисуется так, КРУГ — так, кроме этого у каждого из них есть дополнительные поля, которые тоже нуждаются в прорисовке и эти поля не одинаковы. Каким образом передать ПРАВИЛЬНО информацию об этом в класс РИСОВАНИЕ? Или нужна какая-то иная структура иерархии?
...
Рейтинг: 0 / 0
Как правильно организовать взаимодействие классов?
    #32925242
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, у тебя КВАДРАТ и КРУГ это наследники от ФИГУРА?
если так, то метод РИСОВАНИЕ делай виртуальным. а в ФИГУРА - чисто виртуальным.
тогда при вызове ФИГУРА::РИСОВАНИЕ если эта фигура есть КВАДРАТ вызовется метод именно КВАДРАТ.
при этом ты не сможешь создать класс без метода РИСОВАНИЕ...

другое дело, верно ли, то что я написал, для твоего языка...
...
Рейтинг: 0 / 0
Как правильно организовать взаимодействие классов?
    #32925243
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я попутал...
у тебя РИСОВАНИЕ это класс.
а ты еще сделай метод Рисование у класса ФИГУРА и далее по моему тексту
...
Рейтинг: 0 / 0
Как правильно организовать взаимодействие классов?
    #32925482
AlexG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так все и происходит. Но мне не понятно, как рисовальщик узнает что ему прорисовывать? Или при создании рисовальщика нужно передовать ссылку на рисуемый объект, а каждый вид рисовальщика сам знает уже какие свойства, поля и методы нужно нарисовать?...
...
Рейтинг: 0 / 0
Как правильно организовать взаимодействие классов?
    #32926174
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то путанно.
рисовальщики всякие...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
class SHAPE
{
 public:
  virtual void draw(int x, int y)= 0 ;
};

class RECTANGLE:public SHAPE
{
 public:
  virtual void draw(int x, int y)
  {
    //some drawing operations here
  };
};

class BOX:public RECTABGLE
{
 public:
  virtual void draw(int x, int y)
  {
    RECTANGLE::draw(x,y);
    //some another drawing
  };
};

class CIRCLE:publc SHAPE
{
 public:
  virtual void draw(int x, int y)
  {
    //some drawing operations here
  };
}
etc
вот что я имел в виду
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как правильно организовать взаимодействие классов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]