Страница: 1 | 2 | 3 | 4 |
Вопрос: Работа с классама в ВБ6 (ООП)
Добавлено: 25.08.09 11:14
Автор вопроса: Tassad
Доброго времени суток.
Подскажите пожалуйста литературу по сабжевому вопросу (если можно со ссылками). Также очень интересуют примеры программ с использованием классов.
Ответы
Всего ответов: 46
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 25.08.09 11:21
ООП в Вб6? однако... скажи, что ты пошутил!!! То, жалкое подобие, которое реализовано в Вб6 даже имитацией ООП назвать сложно...
Номер ответа: 2
Автор ответа:
Tassad
Вопросов: 1
Ответов: 1
Профиль | | #2
Добавлено: 25.08.09 11:42
Ну как бы то ни было, меня интересует именно этот вопрос) Если угодно - подскажите литературу и примеры по реализации подобия ООП в ВБ6)
Номер ответа: 3
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #3
Добавлено: 25.08.09 12:22
Да тут и изучать особо нечего.. все самое основное есть тут
http://www.codenet.ru/progr/vbasic/class.php
Если тебе все же захочется поизвращаться с имплементацией, то рекомендую ознакомиться с этой докой
http://www.kb.mista.ru/article.php?id=618
Visual Basic 6.0 does not support implementation inheritance.
Номер ответа: 4
Автор ответа:
inferno
Вопросов: 8
Ответов: 39
Web-сайт:
Профиль | | #4
Добавлено: 27.08.09 13:36
Да, не спорю изучать там нечего! Property Let, Property Get и писец!
Номер ответа: 5
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #5
Добавлено: 28.08.09 11:06
Не надо бузить, а то ТС может решить что не стоит применять ООП в VB. И это будет напрасно. Жалкое подобие ООП всё же НАМНОГО удобнее, чем его отсутствие (на мой взляд)
Номер ответа: 6
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #6
Добавлено: 28.08.09 11:20
ты хочешь поговорить об этом?
Из всей мощи ООП в ВБ6 реализована лишь инкапсуляция, которую ты без труда можешь реализовать в обычном модуле.. Какой смысл в таком ООП? Если нету наследования то называть это ООП даже язык не поворачивается..
Номер ответа: 7
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #7
Добавлено: 28.08.09 11:28
Не, ну там еще сами классы есть) И еще можно их экземпляры создавать))
Номер ответа: 8
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #8
Добавлено: 28.08.09 11:55
EROS, по крайней мере два критерия из трех - инкапсуляция и полиморфизм - в VB6 реализованы, и это главное.
Польза от наследования далеко не так очевидна. К примеру, в том же .NET вообще решили отказаться от множественного наследования - и не помнится мне что-то возмущений разношерстных ламеров по поводу ущербности ООП. Главное - были бы прямые руки и здоровая голова
Номер ответа: 9
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #9
Добавлено: 28.08.09 12:43
Я после того как первый раз поробовал возможность ООП в VBA, сразу оценил удобство работы. Экземпляр модуля ведь не получится создать, а экземпляр класса - пожалста вам. И свойства тоже. Тут конечно можно сделать глобальные переменные типа публик, но если надо проверить значение вводимое с помощью св-ва? Ну и, правда это специфичное для VBA у меня, - сделал класс для управления чужим приложением, написанным на C++ и не поддерживающим COM, управление там с помощью Win32 API организовал, естественно получилось много функций в классе и кроме того для каждого(почти) "контрола" сделал свой класс вся эта беда размещалась в вордовском файле. Ну вот. Понадобилось из макроса екселя или т.п. использовать этот класс. Получилось достаточно просто. Через References подключил вордовский файл и после As в списке стал появляться этот класс. А с помощью модулей я бы офигел. Там по моему запустить процедуру можно ТОЛЬКО через метод Word.Application.Run(). Причём если его запускать без Call, выдаёт ошибку, если процедура просит параметры. Вот так. А так получается типа GNApp.TrcListBox.Item(1,1).Text, и всё. Так что польза от ООП в VB всё же есть и по моему немалая.
Номер ответа: 10
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #10
Добавлено: 28.08.09 13:19
VB - это большой жирный надстройка и над ООП, и над COM. Без наследования - это, конечно, обидно. Но то, что можно уже хотя бы сгруппировать операции и поля в разные классы - уже хорошо.
Номер ответа: 11
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #11
Добавлено: 28.08.09 13:20
И вообще, такое ощущение, что тут где-то рядом кто-то думает, что "ООП", "То, что сказала Microsoft" и "хорошо" - синонимы. :D
Номер ответа: 12
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #12
Добавлено: 28.08.09 15:26
Скорее тут где-то рядом кто-то прокачиват понты не по делу. И совершенно безосновательно...
Номер ответа: 13
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #13
Добавлено: 28.08.09 19:27
Польза от множественного наследования - вопрос спорный.. а вот необходимость обычного наследования и абстракции, имхо, как раз таки очевидны..
Ну если инкапсуляция еще худо бедно сделана, то полиморфизм в редакции VB6 - это издевательство.. только через интефейсы(если не ошибаюсь)
Номер ответа: 14
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #14
Добавлено: 29.08.09 06:13
Не надо бузить, а то ТС может решить что не стоит применять ООП в VB. И это будет напрасно. Жалкое подобие ООП всё же НАМНОГО удобнее, чем его отсутствие (на мой взляд)
ТС не должен решить что не стоит применять ООП в VB6. Он должен решить что не стоит применять VB6.
Номер ответа: 15
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #15
Добавлено: 29.08.09 10:24
Так вот какова цель всей твоей жизни, Бренд!