О чем рассказать на лекции?

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: О чем рассказать на лекции?

Сообщение Williams » 09.12.2008 (Вт) 21:05

Debugger писал(а):
Ведь если Windows ориентирован на Си

В цитаты :D !
Windows был написан специально для Сях?
[offtopic]Кстати, в Visual Basic есть перегруженные функции?[/offtopic]


Имхо, в 6 нет, в .NET есть оверлоадинг как важная часть ООП
И вы думаете, что вас оставят в живых после прочтения этого поста?

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: О чем рассказать на лекции?

Сообщение Debugger » 09.12.2008 (Вт) 21:09

А это?..
Вложения
Overloading.png
А это?
Overloading.png (2.74 Кб) Просмотров: 808

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: О чем рассказать на лекции?

Сообщение tyomitch » 09.12.2008 (Вт) 21:36

Williams писал(а):Имхо, в 6 нет, в .NET есть оверлоадинг как важная часть ООП

Каким боком перегрузка относится к ООП? :roll:
Изображение

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: О чем рассказать на лекции?

Сообщение Williams » 09.12.2008 (Вт) 21:42

tyomitch писал(а):
Williams писал(а):Имхо, в 6 нет, в .NET есть оверлоадинг как важная часть ООП

Каким боком перегрузка относится к ООП? :roll:


Мы учили перегрузку в составе объектно-ориентированного программирования. Если поискать в интернете, многие считают так же. Возможно что это распространенное заблуждение.

Что скажешь по-поводу скриншота, который запостил Debugger?
И вы думаете, что вас оставят в живых после прочтения этого поста?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: О чем рассказать на лекции?

Сообщение iGrok » 09.12.2008 (Вт) 21:45

Williams писал(а):Мы учили перегрузку в составе объектно-ориентированного программирования.

Это вы перегрузку методов класса учили, как "важную часть" ООП, а не саму по себе перегрузку.
label:
cli
jmp label

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: О чем рассказать на лекции?

Сообщение Debugger » 09.12.2008 (Вт) 21:49

Вообще-то Overloading - это когда есть много функций или процедур, имеющих одно имя, и компилятор выбирает, какую из них надо использовать, смотря на параметры.
ЯП перегрузка (операций) (возможность выбора компилятором различных реализаций одной и той же функции в зависимости от типов ее параметров в вызове функции) (компьютерное) перегрузка overloading перегружающий ~ перегрузка

Посмотрите на картинку, которая на 3ем после этой страницы. В VB есть 2 функции, LoadPicture. Оба возвращают одинаковый тип. Но тот факт, что все параметры Optional и все они Variant наводит на мысль, что в VB таки есть Overloading. Хотя бы для этих двух Избранных Функций.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: О чем рассказать на лекции?

Сообщение iGrok » 09.12.2008 (Вт) 22:04

Debugger писал(а):Вообще-то Overloading - это когда есть много функций или процедур, имеющих одно имя, и компилятор выбирает, какую из них надо использовать, смотря на параметры.

Это "перегрузка функций". Оно же Type Polymorphism. Есть ещё перегрузка методов(что по идее то же самое) и перегрузка операторов.

Debugger писал(а):Посмотрите на картинку, которая на 3ем после этой страницы. В VB есть 2 функции, LoadPicture. Оба возвращают одинаковый тип. Но тот факт, что все параметры Optional и все они Variant наводит на мысль, что в VB таки есть Overloading. Хотя бы для этих двух Избранных Функций.
Это две разных функции.
Одна - из stdole.StdFunctions (LoadPicture([filename], [widthDesired As Long], [heightDesired As Long], [flags As LoadPictureConstants = Default]) As IPictureDisp)
Вторая - VB.Global (LoadPicture([FileName], [Size], [ColorDepth], [X], [Y]) As IPictureDisp)

По умолчанию используется вторая. Первую использовать можно, написав stdole.StdFunctions.LoadPicture(..)

При чём тут перегрузка?
label:
cli
jmp label

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: О чем рассказать на лекции?

Сообщение MIT » 09.12.2008 (Вт) 22:42

Ну, не знаю для сях или не для сях, спорить не буду.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: О чем рассказать на лекции?

Сообщение Debugger » 10.12.2008 (Ср) 19:19

iGrok писал(а):...из stdole.StdFunctions (LoadPicture([filename], [widthDesired As Long], [heightDesired As Long], [flags As LoadPictureConstants = Default]) As IPictureDisp)
Вторая - VB.Global (LoadPicture([FileName], [Size], [ColorDepth], [X], [Y]) As IPictureDisp)

По умолчанию используется вторая. Первую использовать можно, написав stdole.StdFunctions.LoadPicture(..)

При чём тут перегрузка?

Я это тоже мог взять из Object Brower'a.
Однако. Во-первых, наличие функций с одинаковыми именами в VB настораживает. Во-вторых, их специфичное написание (все Optional и Variant), навели вот такую мыслю.
Почему по умолчанию используется вторая? И зачем тогда нужна первая?..

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: О чем рассказать на лекции?

Сообщение tyomitch » 10.12.2008 (Ср) 21:36

Debugger писал(а):Почему по умолчанию используется вторая? И зачем тогда нужна первая?..

а) Потому что выше в списке референсов.
б) Затем, что stdole -- не часть VB. Ссылку на него можно вообще убрать из проекта.

Перегрузкой и не пахнет.
Скорее, конфликт имён: два отдела внутри MS не договаривались как назвать свои функции.
Можно найти ещё тыщу таких примеров в других парах библиотек.
Изображение

Пред.

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

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

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

    TopList  
cron