|
29 / 29 / 10
Регистрация: 28.10.2011
Сообщений: 183
|
|
Зачем упаковывать структуры и объекты в интерфейсы?24.01.2013, 04:29. Показов 2024. Ответов 3
Метки нет (Все метки)
Объясните пожалуйста кто-нибудь человеческим языком зачем упаковывать структуры и объекты в интерфейсы?
0
|
|
| 24.01.2013, 04:29 | |
|
Ответы с готовыми решениями:
3
Зачем нужны интерфейсы? Зачем нужны интерфейсы?
|
|
|
|
| 24.01.2013, 08:13 | |
|
Что вы имеете ввиду под упаковывать в интерфейсы? Где вы такой термин прочитали? Сами выдумали?
Если под упаковкой, вы имеете ввиду тоже самое, что и 99% программистов на C# - boxing, то что значит упаковка объекта в интерфейсы?
0
|
|
|
|
|
| 24.01.2013, 08:58 | |
|
Думаю вопрос должен звучать как то так: "Зачем использовать интерфейсы вместо конкретных классов?"...
Что вообще такое интерфейс... Если человеческим языком, представьте себе обычную электрическую розетку. Розетка говорит, что для того чтобы в меня что-то воткнуть и получить ток, это что-то должно иметь два штыря. Т.е. розетка предоставляет потребителям некий интерфейс, описывающих параметры того, что в нее можно воткнуть. При этом розетке в общем то по барабану, будет ли это вилка или два гвоздя в руках у ребенка, она в любом случае подаст ток на два штыря. Тоже самое и с программными интерфейсами... Допустим некому методу нужен какой то параметр в виде класса. И это метод собирается использовать какие то свойства этого класса или вызывать его методы. Вместо того, чтобы требовать конкретный класс, можно описать интерфейс, и тогда методу будет все равно, какой именно класс передается ему в качестве параметра, главное чтобы он реализовывал требуемый интерфейс, что гарантирует что в нем будут все необходимые свойства и методы. Зачем это нужно... Самый просто и очевидный пример... У вас есть некий метод, выполняющий какой то расчет. В метод передается класс, хранящий исходные данные для расчета. В качестве параметра метода вы указываете интерфейс, в котором перечисляете все, нужные вам для расчетов свойства класса. Далее вы можете передавать этому методу как реальный рабочий класс (который берет данные например из БД), так и тестовый, сформированный вручную вами. Методу будет все равно, он выполнит требуемые действия, не задумываясь о том, откуда реально взялись данные.
1
|
|
| 24.01.2013, 09:35 | |
|
0
|
|
| 24.01.2013, 09:35 | |
|
Помогаю со студенческими работами здесь
4
Зачем нужны интерфейсы?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|