powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Зачем нужен базовый класс?
25 сообщений из 27, страница 1 из 2
Зачем нужен базовый класс?
    #39408920
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуру ООП поясните на примере.
Допустим у меня есть 3 разных веб-камеры, нужно написать ООП библиотеку через которую программа сможет управлять любой камерой, показывать изображение и звук.

1 камера - транслирует видео поток в MJPEG, аудиопоток в MP3, подключена через Ethernet.
2 камера - видео в H.264, аудипотока нет, подключена через телефонный модем.
3 камера - видео в H.263, аудиопоток в AXIS, подключена через сотовый модем.

Какая должна быть структура классов? Нужен ли тут базовый класс?
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39408942
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoundService...
VideoService...
CommService...

Camera - https://ru.wikipedia.org/wiki/Фасад_(шаблон_проектирования)
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39408961
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltДопустим у меня есть 3 разных веб-камеры, нужно написать ООП библиотеку
если библиотека для 3-х конкретных камер, то какая разница как её писать.
задача слишком примитивная.

А вот если обобщенная библиотека, где можно регистрировать разные камеры, то общий интерфейс обдумать нужно. И реализовывать этот интерфейс для каждой камеры.
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39408971
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglSoundService...
VideoService...
CommService...

Camera - https://ru.wikipedia.org/wiki/Фасад_(шаблон_проектирования)

Прикольно! SoundService...VideoService...CommService... - это отдельные классы?

ZyK_BotaNесли библиотека для 3-х конкретных камер, то какая разница как её писать.
задача слишком примитивная.

А вот если обобщенная библиотека, где можно регистрировать разные камеры, то общий интерфейс обдумать нужно. И реализовывать этот интерфейс для каждой камеры.

Камер может быть хоть 300 разных типов и производителей, три штуки это чтобы мне проще понять было. Как все спроектировать с точки зрения ООП )) Потребитель контента - программа должна получать видео и звук, и возможное управление.
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39408979
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltПотребитель контента - программа должна получать видео и звук, и возможное управление.
Вот и оформи интерфейс, через который можно получать видео, звук и управлять одной камерой.

Дальше реализовываешь этот интерфейс, если реализация сильно отличается.

Если же есть общие шаблоны алгоритмов, то возможно шаблонный метод пригодится(абстрактный класс, где камеро-зависимые методы абстрактные), а общие для всех камер методы, описаны через них.
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39408996
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем тут ООП? Видеохостинги следует на Erlang писать :)
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39408997
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВидеохостинги следует на Erlang писать :)
чем тебе акторы, не объекты?
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39409007
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА зачем тут ООП? Видеохостинги следует на Erlang писать :)

это не видеохостинг, а программа управления оборудованием, поэтому пишется на C#
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39409024
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит как я понимаю, делаю интерфейс INT_CAM, в котором описываю методы управления камерой, отделенный от реализации.
Затем пишу класс для каждой камеры, в которой реализую интерфейс INT_CAM.
Получаю в итоге паттерн Фасад.

Все верно?
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39409034
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltПолучаю в итоге паттерн Фасад.
нет. фасада никакого не надо, если в системе не известное кол-во камер.

а вот если есть общие алгоритмы работы каких-то из методов, то возможно шаблонный метод пригодится. https://ru.wikipedia.org/wiki/Шаблонный_метод_(шаблон_проектирования)
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39409106
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltSiemarglSoundService...
VideoService...
CommService...

Camera - https://ru.wikipedia.org/wiki/Фасад_(шаблон_проектирования)

Прикольно! SoundService...VideoService...CommService... - это отдельные классы?
....
Отдельные иерархии классов
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39410595
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNskyANAВидеохостинги следует на Erlang писать :)
чем тебе акторы, не объекты?
можно и так спросить: "чем тебе функции не объекты?" :)
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39411973
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAZyK_BotaNпропущено...

чем тебе акторы, не объекты?
можно и так спросить: "чем тебе функции не объекты?" :)
не имеют состояния.
функция - банальное отображение одного множества в другое.

т.е. если функция и объект, то не полноценный, а очень частный случай.

а у актора и состояние, и взаимодействие с внешним миром.
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39411996
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNт.е. если функция и объект, то не полноценный, а очень частный случай.
что есть полноценный объект?
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39412002
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNне имеют состояния.по разному бывает то
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
#include <iostream>

void callcounter()
{
   static int count_of_call = 0;
   count_of_call++;
   std::cout << "Меня вызвали уже " << count_of_call << " раз. Ы! :)" << std::endl;
}
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39412113
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNskyANAпропущено...

можно и так спросить: "чем тебе функции не объекты?" :)
не имеют состояния.



функции еще как имеют состояние
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39412178
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivфункции еще как имеют состояние
изменяемое? оО
тогда это не функции.
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39412873
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNMasterZivфункции еще как имеют состояние
изменяемое? оО
тогда это не функции.
strtok это функция из <string.h> и имеет состояние
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39412875
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizZyK_BotaNпропущено...

изменяемое? оО
тогда это не функции.
strtok это функция из <string.h> и имеет состояние
значит не функция (:
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39412886
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNзначит не функция (:
ФП разрушает мозг
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39412890
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилZyK_BotaNзначит не функция (:
ФП разрушает мозг
дополняет и упорядочнивает знания, понимание и умение.
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39414173
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNзначит не функция (:
У сишников каша в понятиях, они до сих пор путаются даже в различиях между структурой и классом.
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39414221
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще базовый класс нужен чтобы выделить общие свойства всех подобных объектов и иметь возможность оперировать с ними одинаковыми образом.

Допустим у меня есть 3 разных веб-камеры, нужно написать ООП библиотеку через которую программа сможет управлять любой камерой, показывать изображение и звук.

вот для этого и нужен базовый класс. Даже возможно несколько, для камер, для изображения, и для звука.

1 камера - транслирует видео поток в MJPEG, аудиопоток в MP3, подключена через Ethernet.
2 камера - видео в H.264, аудипотока нет, подключена через телефонный модем.
3 камера - видео в H.263, аудиопоток в AXIS, подключена через сотовый модем.

Какая должна быть структура классов? Нужен ли тут базовый класс?

ну, какая конкретно структура нужна, это зависит от многого, от постановки задачи и целей проектирования. Это ты должен сам уже делать.
Нужно видимо несколько базовых классов, как я уже написал. Но вот способ подключения за тебя уже сделали совершенно прозрачным для приложения на сетевом уровне, для спорта подключения базовый класс делать не нужно, везде будет TCP или UDP socket.

Возможно, нужны будут классы для установки соединения, но само соединение будет одно и то же.
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39414430
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerZyK_BotaNзначит не функция (:
У сишников каша в понятиях, они до сих пор путаются даже в различиях между структурой и классом.
ой, тока не надо про кашу
...
Рейтинг: 0 / 0
Зачем нужен базовый класс?
    #39414445
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNMasterZivфункции еще как имеют состояние
изменяемое? оО
тогда это не функции.

Свои параметры на входе ...
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Зачем нужен базовый класс?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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