Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
1 / 1 / 0
Регистрация: 03.01.2011
Сообщений: 79

Что такое Implements и как его юзать?

26.04.2011, 14:52. Показов 5939. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно вопрос уже задан: Что такое Implements и зачем он вообще нужен?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.04.2011, 14:52
Ответы с готовыми решениями:

Что такое CRC ? И для чего его юзать?
Привет! Я сделал поиск по гуглу и немного узнал о CRC: что это, мол, контрольная сумма... МОЙ ВОПРОС: можно ли это понимать как...

что такое отладчик и как им юзать?
#include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> int main() { double s=0, p;//переменные сумма и...

Для чего абстрактный класс, интерфейс и что такое implements
В общем топик замысловатый, но вопрос простой: учу потихоньку ООП всё глубже и глубже и столкнулся с проблемой понимая 3 разных слов:...

9
Messir
30.04.2011, 22:23
если ты про vb.net, то копай в сторону интерфейсов
1 / 1 / 0
Регистрация: 03.01.2011
Сообщений: 79
01.05.2011, 11:38  [ТС]
Почему .Net, зачем сразу .Net.
Энто есть и в VB6, но несовсем понятно как его юзать, то что это связано с интерфейсами - понятно, более того это однозначно необходимо для замени методов какого-то объекта своими... но как? - вот это и непонятно.
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
01.05.2011, 12:49
RTFM, блин поможет
а вкрадце все очень просто:
делаешь пустой класс, например cCars с обявлениями методов и свойств,
а потом через Implements наследуешь его в другой класс cFord (cVolvo и тп), в котором уже его методы наполняешь нужным тебе содержимым
0
1 / 1 / 0
Регистрация: 03.01.2011
Сообщений: 79
01.05.2011, 13:22  [ТС]
Объясните чайнику: а что такое RTFM?
И еще а если не в кратце, желательно с примером... ил. это бОльшое счастье, которого в природе не бывает?
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
01.05.2011, 14:57
RTFM - это такое неприличное сокращение, которое тебя направляет на чтение 'ненавистной' документации
read this fXXXXd manual
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
01.05.2011, 15:06
Step-by Step Example
Create a new project with the following objects:

Type Name
---------------------------
Class Module IShape
Class Module ICircle
Class Module ISquare
Form Form1


Type the following code in the IShape Class Module:
Visual Basic
1
2
3
4
5
6
7
      Option Explicit
 
      Public Sub SetXY(ByVal NewX As Long, ByVal NewY As Long)
      End Sub
 
      Public Sub Draw(oDrawSpace As Object)
      End Sub
Type the following code into the ICircle Class Module:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      Option Explicit
      Implements IShape
 
      Dim X As Long, Y As Long, iRadius As Long
 
      Private Sub IShape_Draw(oDrawSpace As Object)
        oDrawSpace.Circle (X, Y), iRadius
      End Sub
 
      Private Sub IShape_SetXY(ByVal NewX As Long, ByVal NewY As Long)
        X = NewX
        Y = NewY
      End Sub
 
      Public Property Let Radius(ByVal NewVal As Long)
        iRadius = NewVal
      End Property
Type the following code in the ISquare Class Module:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      Option Explicit
      Implements IShape
 
      Dim X As Long, Y As Long, Side As Long
 
      Private Sub IShape_Draw(oDrawSpace As Object)
        oDrawSpace.Line (X, Y)-(X + Side, Y + Side), , B
      End Sub
 
      Private Sub IShape_SetXY(ByVal NewX As Long, ByVal NewY As Long)
        X = NewX
        Y = NewY
      End Sub
 
      Public Property Let SideLength(ByVal NewVal As Long)
        Side = NewVal
      End Property
Add a CommandButton to the lower edge of the form.

Type the following code in the form module:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
      Option Explicit
 
      Private Sub Command1_Click()
 
      Dim C As ICircle, S As ISquare
        Set C = New ICircle
        Set S = New ISquare
      ' Manipulate circle shape (using With)
        C.Radius = 250
        With IShape(C)
          .SetXY 400, 400
          .Draw Me
        End With
      ' Manipulate square shape (without using With)
        IShape(S).SetXY 700, 300
        S.SideLength = 300
        IShape(S).Draw Me
      End Sub
 
      Function IShape(oShape As IShape) As IShape
        Set IShape = oShape
      End Function
Run the project and click the CommandButton. You will see a circle and a square drawn on the form background.
0
1 / 1 / 0
Регистрация: 03.01.2011
Сообщений: 79
01.05.2011, 16:43  [ТС]
Круто!
А чем это лучше нежели просто объявить класс с такими свойствами или методами, а не наследовать их из другого класса и подменять же своими методами!
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
01.05.2011, 17:24
можно и чужие классы имплиментировать из других библиотек, главное, чтобы они поддерживали интерфейсы IDispatch и IUnknown
0
98 / 1 / 1
Регистрация: 28.01.2007
Сообщений: 53
05.05.2011, 00:46
А нужно это, например для такого случая:
Написал ты свои электронные таблицы, реализовал финкционал типа Plug-In(сов). Т.е. хочешь, чтобы то чего ты не дописал другие дописывали, а твоя прога делает:
Visual Basic
1
2
3
4
Set obj = CreateObject('SomeDLL.SomeClass')
obj.Connect someParam1
...
obj.Disconnect someParam2
Но для этого ты должен быть уверен, что те кто будет писать dll для твоей проги в своих классах имели методы Connect и Disconnect с параметрами соответствующих типов.
Тогда ты пишеш интерфейс (класс) ISomeClass и объявляешь в нем 2 пустых метода Connect и Disconnect.
А в документации к проге говоришь, что для успешного подключения Вашего DLL к проге Вы должны в наследовать интерфейс ISomeClass
или
Implements ISomeClass.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.05.2011, 00:46
Помогаю со студенческими работами здесь

что юзать и как юзать
ассемблер только начали, хотелось бы узнать как вообще его компилировать? вот скачал какой то, но ничего не компилирует я хз что с ним :( ...

Что такое указатель на фаил в делфи, как его получить и с чем его готовить
У меня вопрос я получаю имя файла вот тут procedure TForm1.Button5Click(Sender: TObject); var f_name:string; begin ...

Что такое Imunify360, и как его убрать?
На сайте появилась постоянная капча и стали блокироваться некотрые IP...это не плагин и специально я его не ставил. Как это творение...

Что такое knockout.js и как его использовать
Всем привет! помогите понять - что такое knockout.js и как его использовать в mvc... вот хорошое введение...

Что такое svchost и как его удалить?
Ребят, что за фигня? Как удалить?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru