|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.05.2014, 17:42 | #1 |
Пользователь
Регистрация: 08.10.2007
Сообщений: 11
|
Проектирование класса
Есть программа, которая неким образом изменяет изображение.
Данные в изображении ( пиксели ) могут храниться в массиве float / double. В зависимости от того, включен ли соответствующий check box. Соответственно нужно придумать класс/несколько классов хранящих изображения ( class Image ) и осуществляющие простейшие дейтвия : инициализация, созданине копии, "извлечение" строки из изображения. Обработку изображения ( class Processor ) хотелось бы реализовать в отдельном классе. Подскажите , плиз, как организовать эту полиморфность по типу для класса изображения и организовать, если возможно единый интерфейс между классами Image - Processor. Последний раз редактировалось XuMuK; 28.05.2014 в 18:07. Причина: уточнение |
28.05.2014, 22:00 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Код:
Последний раз редактировалось _Bers; 29.05.2014 в 00:30. |
29.05.2014, 12:05 | #3 |
Пользователь
Регистрация: 08.10.2007
Сообщений: 11
|
_Bers, я так понял, нужно будет создавать 2 потомка : ConcreteImageFloat и ConcreteImageDouble ? И соответственно 2 Processor ... по одному на каждый тип
|
29.05.2014, 23:14 | #4 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Например: независимо от внутреннего строения картинки, у всех у них есть ширина и высота. Соответственно, методы получения высоты и ширины можно сделать одинаковым для всех картинок. Соответственно, этот общий функционал можно перетащить в базу. ---- Процессоров может быть несколько штук при условии, если нужно по разному обрабатывать картинки. Если же принцип обработки один и тот же - достаточно одного процессора, который работает с "базовой" картинкой. |
|
30.05.2014, 09:01 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Еще можно сделать родительский double GetPixel(col, row) и тогда процессор будет только один.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не понятная проблема, адрес переменной класса у 2 объектов класса одинаков | Soeth | Общие вопросы C/C++ | 8 | 06.11.2013 05:10 |
Как создать метод класса, возвращающий объекты (поля класса) разных типов | frosich | Общие вопросы Delphi | 3 | 01.03.2013 19:29 |
Функция базового класса вызывает критическую ошибку при вызове для класса-потомка | Archet | Общие вопросы C/C++ | 7 | 17.01.2012 20:17 |
Конструктор класса не хочет принимать в качестве параметра адрес объекта другого класса | Jugger | Помощь студентам | 3 | 05.01.2012 04:10 |
Определение типа класса по переменной на объект этого класса при компиляции | phomm | Общие вопросы Delphi | 24 | 08.04.2011 14:11 |