VB6 — Объектно-ориентированный язык

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

VB6 — Объектно-ориентированный язык

Сообщение Денис » 29.09.2008 (Пн) 16:28

Я понял тайну, тщательно скрываемую опытными программистами от новичков: VB6 — Объектно-ориентированный язык! OMG, если меня не уберут в ближайшее время за то, что я знаю, я готов доказать это утверждение.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: VB6 — Объектно-ориентированный язык

Сообщение Proxy » 29.09.2008 (Пн) 21:20

Многие преподы в вузе тоже толкают, что VB 6.0 (!!) - ООП. И всё же важнее мнение мелкософта да и собственное понимание. Ага ага. Сравни с Delphi (собственно язык Object Pascal, delphi - среда). Хотя в одной стязи. И C++ туда же. А ещё первый опыт программирования под линукс любого линуксоида - Python. Ага. Все в одну кучу и под общую подпись: они помогут вам замедлить исполнение написанного Вами приложения. Ага ага. И всем классом в объект топка.
Follow the white rabbit.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: VB6 — Объектно-ориентированный язык

Сообщение SLIM » 29.09.2008 (Пн) 21:27

Денис писал(а):Я понял тайну, тщательно скрываемую опытными программистами от новичков: VB6 — Объектно-ориентированный язык! OMG, если меня не уберут в ближайшее время за то, что я знаю, я готов доказать это утверждение.

ООО!!!! Осенило? И что же ты такого нашел то чего не знают непосвященные. Вроде бы даже в книжках написано что VB - это ОО язык, но немного "недоразвитый". Но все равно интересно...
Пишите жизнь на чистовик.....переписать не удастся.....

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: VB6 — Объектно-ориентированный язык

Сообщение Proxy » 29.09.2008 (Пн) 21:46

но немного "недоразвитый"
Ага ага. Потому и толковый. Если б стремились к чистому ООП, то было бы не хорошо. (Заметьте, я не сказал ппц. Теперь не коверкаю язык намеренно) Теперь только непреднамеренно)
Follow the white rabbit.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: VB6 — Объектно-ориентированный язык

Сообщение Денис » 30.09.2008 (Вт) 9:30

SLIM писал(а):Вроде бы даже в книжках написано что VB - это ОО язык, но немного "недоразвитый". Но все равно интересно...

Конкретно по VB книжек не читал (все больше по С, да Object Pascal). Так что интересно, чем именно обосновывается "недоразвитость" VB? На каких примерах?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: VB6 — Объектно-ориентированный язык

Сообщение SLIM » 30.09.2008 (Вт) 11:37

Денис писал(а):Конкретно по VB книжек не читал (все больше по С, да Object Pascal). Так что интересно, чем именно обосновывается "недоразвитость" VB? На каких примерах?
SLIM писал(а):Вроде бы даже в книжках написано что VB - это ОО язык, но немного "недоразвитый". Но все равно интересно...

Конкретно по VB книжек не читал (все больше по С, да Object Pascal). Так что интересно, чем именно обосновывается "недоразвитость" VB? На каких примерах?


Я уже не помню точно, но в VB не реализовано толи полиморфизм, толи наследование, толи инкапсуляция толи еще что-то. Не вдавался, ибо этим не пользовался. Но что-то такое есть. Кстати Net стал полностью ОО языком
Пишите жизнь на чистовик.....переписать не удастся.....

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: VB6 — Объектно-ориентированный язык

Сообщение Proxy » 30.09.2008 (Вт) 14:59

Верно.
Follow the white rabbit.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: VB6 — Объектно-ориентированный язык

Сообщение SLIM » 30.09.2008 (Вт) 16:58

Денис
Так где раскрытие тайны то?
Пишите жизнь на чистовик.....переписать не удастся.....

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: VB6 — Объектно-ориентированный язык

Сообщение Денис » 01.10.2008 (Ср) 14:49

толи полиморфизм, толи наследование, толи инкапсуляция толи еще что-то

Так вот. Все это реализовано в vb6. Вот и вся тайна.

Примеры:
Класс А. Родительский.
Код: Выделить всё
Public Sub VrtMethod(Argument As Long)
   'Виртуальный метод. Ничего не делает.
End Sub

Public Sub AddMethod(Argument As Long)
   Argument = Argument ^ 2
End Sub

Public Function PolyMethod(Argument As Long) As Long
   PolyMethod = Argument ^ 2
End Function


Класс Б. Дочерний.
Код: Выделить всё
Private SuperClass As ClassA

Public Sub NewMethod(Argument As Long)
   
   'Дополнительный метод
   Dim A1 as Long
   A1 = A1 + Argument
   
End Sub

Public Sub VrtMethod(Argument As Long)
   'Реализация виртуального метода
   Argument = Argument ^ 2
End Sub

Public Sub AddMethod(Argument As Long)
   'Добавление кода
   Argument = Argument + 3
   'Посылаем сообщение в суперкласс
   SuperClass.AddMethod Argument
End Sub

Public Function PolyMethod(Argument As String) As Boolean
   
   'альтернативная реализация полиморфного метода
   If Argument = "True" Then
      PolyMethod = True
   Else
      PolyMethod = False
   End If
   
End Function


И так реализуется всё ООП.
Последний раз редактировалось Денис 01.10.2008 (Ср) 15:14, всего редактировалось 1 раз.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16474
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: VB6 — Объектно-ориентированный язык

Сообщение Хакер » 01.10.2008 (Ср) 14:58

Неправда. Наследования нет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: VB6 — Объектно-ориентированный язык

Сообщение Денис » 01.10.2008 (Ср) 15:16

Хакер писал(а):Неправда. Наследования нет.

Наследования нет в IDE. Но кого это остановит?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16474
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: VB6 — Объектно-ориентированный язык

Сообщение Хакер » 01.10.2008 (Ср) 15:20

Наследования нет в IDE.

Наследования нет в языке. В IDE оно как раз есть — любая форма наследуется от базовой формы Form. А вот в языке нет даже никакой конструкции, отвечающей за наследование.


Но кого это остановит?

Прикрываясь этой фразой, можно кричать, что в VB есть встроенный искусственный интеллект. Его нет в IDE, в языке, но кого это остановит?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: VB6 — Объектно-ориентированный язык

Сообщение Viper » 01.10.2008 (Ср) 15:43

Да, VB6 является ООП! Но с одним ограничением - в нем нет наследования! В нем есть возможность реализации интерфейса. И только.
Весь мир матрица, а мы в нем потоки байтов!

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: VB6 — Объектно-ориентированный язык

Сообщение Денис » 02.10.2008 (Чт) 9:29

Так. Стоп. А это что? Разве не наследование? (см. рис.)
Вложения
Наследование.PNG
Пример наследования?
Наследование.PNG (20.86 Кб) Просмотров: 8068
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: VB6 — Объектно-ориентированный язык

Сообщение Antonariy » 02.10.2008 (Чт) 9:35

Нет. Это шаблон.
Максимум, что можно сделать — видимость наследования минимальным кодом. Для ооп-наследования код вообще не должен быть нужен, компилятор сам делает, что нужно.
Лучший способ понять что-то самому — объяснить это другому.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: VB6 — Объектно-ориентированный язык

Сообщение Денис » 02.10.2008 (Чт) 9:45

В том-то и фишка, что ООП делает не компилятор, а программист. А кроме того, в VB всегда приходилось многое делать ручками. Даром что "Visual" :?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: VB6 — Объектно-ориентированный язык

Сообщение Antonariy » 02.10.2008 (Чт) 9:48

VB6 — Объектно-ориентированный язык!
В том-то и фишка, что ООП делает не компилятор, а программист.
Ты сам себе противоречишь.
Лучший способ понять что-то самому — объяснить это другому.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: VB6 — Объектно-ориентированный язык

Сообщение Денис » 02.10.2008 (Чт) 9:55

Никакого противоречия. Сейчас я все объясню.
VB — это ООП язык, именно язык, а не его IDE. И объектный код создать можно, НО объявляя и прописывая все вручную, кодом, а не тыкая мышкой кнопочки, как в том же delphi например.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: VB6 — Объектно-ориентированный язык

Сообщение Antonariy » 02.10.2008 (Чт) 10:09

Ты просто не понимаешь смысл ооп-примочек. В принципе ооп можно реализовать хоть на ассемблере, если ты мазохист крайне левого толка. Но вся соль в том, чтобы программист мог указать, что этот класс, помимо своего, включает функционал того, всего одной-двумя строчками. Чтобы не думать "Бл*, опять забыл перенаправить вызов на этот долбаный родитель". Который нужно еще объявить, создать, а потом уничтожить.

В случае реализации наследования в языке , а не программе, всю эту черновую работу берет на себя компилятор, поднимая абстракцию архитектуры над кодом на еще одну ступень выше.
Лучший способ понять что-то самому — объяснить это другому.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: VB6 — Объектно-ориентированный язык

Сообщение Proxy » 02.10.2008 (Чт) 17:35

Вот только не стоит кричать, что ООП - сапоги на любую ногу.
Follow the white rabbit.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: VB6 — Объектно-ориентированный язык

Сообщение alibek » 03.10.2008 (Пт) 8:19

Proxy писал(а):Вот только не стоит кричать, что ООП - сапоги на любую ногу.

Ссылку покажешь, где ты это увидел?
Lasciate ogni speranza, voi ch'entrate.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: VB6 — Объектно-ориентированный язык

Сообщение Proxy » 03.10.2008 (Пт) 12:28

Follow the white rabbit.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: VB6 — Объектно-ориентированный язык

Сообщение Viper » 03.10.2008 (Пт) 12:48

Proxy писал(а):тут
В какой строчке?
Весь мир матрица, а мы в нем потоки байтов!

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4147
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: VB6 — Объектно-ориентированный язык

Сообщение Mikle » 16.10.2012 (Вт) 16:26

Сегодня я обнаружил невероятный провал в своих знаниях о VB6 :oops: в нём таки есть наследование.
Вложения
Implements.zip
(2.58 Кб) Скачиваний: 130

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16474
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: VB6 — Объектно-ориентированный язык

Сообщение Хакер » 16.10.2012 (Вт) 16:49

Кошмар.
1) Как об этом можно было не знать.
2) Я чуть-ли не миллион раз выкладывал примеры с Implements.
3) Это не наследование реализации, о котором все твердят (что его нет), это наследование интерфейса.
Оно — неотъемлемая часть COM, а поскольку VB всецело COM-ичен, он просто невообразим без этого. Будь VB лишён этой возможности, он заслуживал бы уничтожения, а я бы везде агитировал за неиспользование VB.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4147
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: VB6 — Объектно-ориентированный язык

Сообщение Mikle » 17.10.2012 (Ср) 9:41

Хакер писал(а):Как об этом можно было не знать.

Сам ужасаюсь. Но согласись, это почему-то редко используется, зато везде повторяется, что в VB6 нет наследования, и как-то замалчивается, что речь идёт о наследовании реализации, просто НЕТ. Даже мысли не было проверить...

NashRus
Постоялец
Постоялец
 
Сообщения: 386
Зарегистрирован: 18.03.2006 (Сб) 1:16

Re: VB6 — Объектно-ориентированный язык

Сообщение NashRus » 17.10.2012 (Ср) 10:59

Когда говорят о наследовании, подразумевают полное или частичное наследование реализации родителя.

А когда класс реализует различные интерфейсы, реализацию которых можно использовать ничего не зная о других,
и различные классы могут реализовывать одни и те же интерфейсы, то это полиморфизм.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Re: VB6 — Объектно-ориентированный язык

Сообщение BV » 19.10.2012 (Пт) 16:03

Mikle писал(а):Сегодня я обнаружил невероятный провал в своих знаниях о VB6

А ты разве не перешел на .net?
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4147
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: VB6 — Объектно-ориентированный язык

Сообщение Mikle » 19.10.2012 (Пт) 18:26

Я одинаково использую оба VB, а для простых быстрых вещей, типа прототипирования, VB6 значительно удобнее, я его не оставлю ещё очень долго.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

    TopList