|
0 / 0 / 0
Регистрация: 02.09.2007
Сообщений: 209
|
|
Зачем введено ключевое слово Implement?18.12.2007, 15:46. Показов 1248. Ответов 9
Метки нет (Все метки)
Пожалуйста, помогите разобраться.
Допустим, имеется класс общего назначения MyGen и классы A и B использующие класс MyGen. Вариант 1. В стандартном модуле объявляю Public clsGen as MyGen В классах A и B объявляю Public cGen as New MyGen Вариант2 В классах A и B объявляю Implement MyGen В моем понимании это одно и тоже. А суть вопроса в том, зачем же введено ключевое слово Implement? Может оно дает какие-то преимущества, которые я не уловил?
0
|
|
| 18.12.2007, 15:46 | |
|
Ответы с готовыми решениями:
9
Зачем использовать ключевое слово static?
|
|
YURA
|
|
| 19.12.2007, 07:10 | |
|
1. Уберите второй вариант, попытайтесь выполнить:
clsGen=A или clsGen=B 2. Добавьте второй вариант и повторите попытку! |
|
|
0 / 0 / 0
Регистрация: 02.09.2007
Сообщений: 209
|
|
| 19.12.2007, 16:21 [ТС] | |
|
To Yura: Извините, не понял:
1. Куда именно вставит clsGen=A или clsGen=B. 2. clsGen, A, B это же объекты. Как можно сделать присвоение, не используя ключевое слово Set? 3. В конечном счете, с Ваших рекомендаций явно не видно преимущества инструкции Implement. Разъясните, пожалуйста. Заранее благодарен.
0
|
|
|
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
|
|
| 19.12.2007, 21:09 | |
|
Implements - введено для возможности разработки ПО на основе ИНТЕРФЕЙСОВ. Есть понятия 'Интерфейс' и 'Сокласс'. Проще, Интерфейс - модуль класса с публичными методами, причем методы не содержат код. В соклассе хранятся коды методов, определенных в интерфейсе.
Вариант 2 Пусть есть класс myGen и пусть он будет интерфейсом (с одним методом myMet). Пусть классы A и B - соклассы (в них есть ключевое слово Implements). Одна из фишек в том, что ты можешь по разному реализовать метод myMet в соклассах A и B Обращение будет следующим: Dim bbb as myGen ... Set bbb=New A ... bbb.myMet ... Set bbb= New B ... bbb.myMet ' это уже не то же самое, что в строке выше Еще одна из фишек - расширяемость функциональности твоих объектов.
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2007
Сообщений: 209
|
|
| 19.12.2007, 21:50 [ТС] | |
|
Да, но если в А и В написать вместо Implement
clsNewGen As New MyGen и ... Set bbb=New A ... bbb.myMet ... Set bbb= New B ... bbb.myMet это также уже не то же самое, что в строке выше. Прищем расширяемость функциональности объектов все еще доступно. Или я не прав?
0
|
|
|
YURA
|
|
| 20.12.2007, 06:02 | |
|
Короче, для формализации сего подумайте - а нужен ли вам полиморфизм и вообще что это за слово такое, полиморфизм?
|
|
|
YURA
|
|
| 23.12.2007, 05:43 | |
|
debutant, я то здесь при чем?
|
|
|
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
|
|
| 23.12.2007, 07:49 | |
|
Извиняюсь, под раздачу попал :-)
Удачи!
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2007
Сообщений: 209
|
|
| 23.12.2007, 16:28 [ТС] | |
|
Уважаемый debutant, статья, которую Вы мне прислали, она очень интересна, но ее суть в описании преимуществ использования интерфейсов. Что как раз вопросов не вызывает. Возможно, я в начале не совсем корректно поставил свой вопрос. Тогда я его попробую перефразировать.
Создание и использование интерфейсов возможно двумя способами 1. С использованием ключевых слов Set и New. 2. С использованием ключевого слова. Суть моего вопроса состоит в том, что можно сделать с использованием Implement, чего нельзя с использованием Set и New.
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2007
Сообщений: 209
|
|
| 23.12.2007, 17:51 [ТС] | |
|
Всем большое спасибо!
Я наконецто разобрался в тонокостях Implements.
0
|
|
| 23.12.2007, 17:51 | |
|
Помогаю со студенческими работами здесь
10
Зачем и когда нужно писать ключевое слово static В чём смысл событий? А именно, зачем нужно ключевое слово event Считать из первого файла ключевое слово и цвет и выделить слово во втором файле Обработка текста: во всех строках, содержащих ключевое слово, переставить это слово в начало строки
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|