Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315

Что такое объект?

29.01.2016, 13:38. Показов 3479. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, ну поясните плиз, я понимаю что-такое операторы, переменные, константы, массивы, выражения, циклы и т.д. НО хоть убей не могу понять, что такое ОБЪЕКТЫ? Извиняюсь заранее за примитивизм, но то ли это объекты формы, то ли под "них" выделяется память программно (как под переменные, например). Пожалуйста, если есть свободное время, объясните, что такое объекты свои языком, без цитат из самоучителей, ибо я их уже прочитал.
Опять же - Заранее спасибо!!!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.01.2016, 13:38
Ответы с готовыми решениями:

Что такое OLE объект?
Я уже не первый год занимаюсь программированием. Но по большому счёту только сегодня задумался над тем, что кроется под абривиатурой...

Что такое Commandtype и что он определяет в ADO?
Chto takoe Commandtype i chto on opredeliat v ADO?

что такое ClassBulder
народ, подскажите, что такое Class Builder.. и с чем его едят? (как пользоваться?) инструкцию нашла только на буржуйском в коем не шарю,...

12
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
29.01.2016, 14:57
Цитата Сообщение от Elkatib Посмотреть сообщение
что такое объекты свои языком
Всё, что видишь в приложении на VB6 есть совокупность объектов. Кнопки, текстовые поля, сама форма и т.д.
У объектов есть свойства, методы и события. Из жизни, к примеру объект
Телефон:
свойство ( характеристики объекта ) - красный, кнопочный
метод (действия или задачи, которые выполняет)- связь с другими телефонами
событие (воздействие на которое реагирует объект) -входящий звонок, поднятие трубки

Всё то же самое и в VB6, да и в любом объектно-ориентированном языке программирования.
0
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
29.01.2016, 16:07  [ТС]
Да. Это я понял. Млин, странно, но я вопрос даже не могу сформулировать...
В общем, есть объект "CommandButton" - кнопка, у него свойства, действие и т.д.
А вот объект в коде:
Visual Basic
1
Dim x As Object
Для чего он нужен, зачем его объявлять, как он применяется, в каких случаях, когда его нужно применять и т.д.???
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
29.01.2016, 16:43
Цитата Сообщение от Elkatib Посмотреть сообщение
А вот объект в коде:
Visual Basic
1
Dim x As Object
Это не объект. Это ты говоришь операционной системе: "Я собираюсь создать объект, так что давай-ка выдели мне под него место в памяти"
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
29.01.2016, 16:46
Не знаю .. чейто текст .. ((
я однажды тоже ... ехал на чемто .. потом сам проснулся и спрашиваю
где мы едем ? .. на верблюде ! ? )) .. ладно

Мне кажется это я гдето писал ..
0
29.01.2016, 16:54

Не по теме:

fever brain, и что?:D

0
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
29.01.2016, 17:02  [ТС]
Ясно. Ну, вот я выделил под него место... А вот как и главное зачем (какая польза?) его использовать???
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
29.01.2016, 17:41
Цитата Сообщение от SoftIce Посмотреть сообщение
Это не объект. Это ты говоришь операционной системе: "Я собираюсь создать объект, так что давай-ка выдели мне под него место в памяти"
Это ссылка. Ты можешь не создавать объект а сослаться на него с помощью ссылки. Это можно так сказать безопасный указатель.
Elkatib, про которые ты говоришь объекты - это контролы. Объект - это структура данных, почти тоже самое что пользовательский тип.
0
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
29.01.2016, 19:19  [ТС]
А как и для чего используются объекты?
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
29.01.2016, 22:37
Для накачки. Данными.

Вот форум. Используй!
0
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
29.01.2016, 23:10  [ТС]
Можно пример с комментариями, пожалуйста. Буду очень благодарен. Форум использовал и не только...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.01.2016, 23:12
Лучший ответ Сообщение было отмечено Elkatib как решение

Решение

Цитата Сообщение от Elkatib Посмотреть сообщение
А как и для чего используются объекты?
Т.е. Вы хотели спросить для чего используются переменные, которые ссылаются на объект?

Давайте начнем с понятийного аппарата.

Dim x As Object
x - такая же переменная по принципу хранения в памяти как и другие. Просто данное объявление означает, что в дальнейшем мы захотим присвоить ей ссылку на какой-то объект.
При этом в отличие от других типов присвоение производится несколько иначе:

Visual Basic
1
set x = объект (экземпляр объекта какого-то конкретного типа).
As Object - это общее понятие какого-либо объекта, будь-то форма, контрол, класс и др. специфические.
При этом, контрол - это не конкретный тип, а группа типов объектов, например, кнопки, галочки, сама форма...

Т.е. Вы можете написать:
Visual Basic
1
2
Dim x as object
set x = Command1 ' (кнопка)
а можете:
Visual Basic
1
2
Dim x as Control
set x = Command1 ' (кнопка)
а можете конкретно указать тип:
Visual Basic
1
2
Dim x as CommandButton
set x = Command1 ' (кнопка)
Указывать вместо конкретного типа (например, CommandButton) группу, к которой относится этот тип объекта (Control) может быть полезно, к примеру, при перечислении всех контролов на форме.
Но редактор будет Вам подсвечивать список доступных свойств и методов только, если указан конкретный тип объекта.

Пример:

Вот так неправильно (если на форме будут другие контролы кроме кнопки, то тип объекта не совпадет и вылетит ошибка):

Visual Basic
1
2
3
4
5
6
'попытка перечислить все контролы
 
Dim x as CommandButton
 
'перечисляем все контролы на форме
For each x in me.Controls
А так правильно:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim cb as CommandButton
Dim x as Control
 
For each x in me.Controls
 
'дальше к примеру, проверим тип объекта и если он соответствует типу "кнопка", переименуем ее
 
  if typename(x) = "CommandButton" then
    x.Caption = "Изменим надпись на кнопке"
 
    'а можем создать еще одну ссылку с переменной другого типа
    set cb = x
  
    'в этом случае у нас IntelliSense будет подсказывать после ввода cb. какие свойства/методы есть у объекта.
    cb.Caption = "Изменим надпись на кнопке"
  end if
next
После завершение работы с объектом (экземпляром), если он нам больше не нужен, объект принято уничтожать, правильнее говоря мы уменьшаем кол-во ссылок на данный объект. И если кол-во ссылок на него становится = 0, объект уничтожается, а память, занятая объектом, высвобождается:
Visual Basic
1
2
set cb = Nothing
set x = Nothing
Теперь на счет примера с As Object.

Выше мы работали с объектами, типы которых уже где-то в нашей программе задекларированы, т.е. ей заранее известно о перечне свойств, методов, событий объекта, тип которого носит имя, к примеру "CommandButton".

Но мы также можем работать и с объектами, для которых наша программа не знает названий их свойств и др ....
И в этом случае нам придется использовать именно тип Object.

Допустим, мы хотим создать экземпляр приложения Microsoft Excel.

Используя COM-технологию, это легко сделать с помощью такой конструкции:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim xlApp as Object
Dim xlBook As Object
Dim xlSheet As Object
 
' создаем экземпляр приложения Excel, присваиваем переменной oApp ссылку на него.
set xlApp = CreateObject("Excel.Application")
 
' работаем с объектом
 
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
 
'Сохраняем лист
xlSheet.SaveAs "C:\my.doc"
 
xlBool.Close
xlApp.Quit
 
set xlSheet = Nothing
set xlBook = Nothing
set xlApp = Nothing
Данный прием называется позднее связывание.

Либо мы можем заранее сослаться на библиотеку типов с помощью меню Project -> Preferences, выбрать библиотеку Microsoft Excel.

Код будет таким же, за исключением объявлений:

Visual Basic
1
2
3
Dim xlApp As Excel.Application 
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Данный прием называется ранним связыванием.

У позднего и раннего связывания есть свои плюсы и минусы, но здесь уже не буду об этом. Почитаете самостоятельно.

Есть и множество других, заранее включенных в состав ОС объектов, экземпляр которых можно создать описанным выше способом. Почитать можно здесь: Подскажите литературу для начинающего!

Часто ссылку на объект (Object) еще используют для обращения к подсистеме WMI.

Объекты также могут быть созданы, используя некоторые API-функции (например, см. CoCreateInstance).
Это допустим, различные интерфейсы, к примеру, ITaskbarList, IPersistFile, IPropertyStore ... и прочее. Вот пример подобной работы.
5
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
29.01.2016, 23:20  [ТС]
Млин офигенный ответ!!! Спасибо большое!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.01.2016, 23:20
Помогаю со студенческими работами здесь

что такое Raz?
Dim Raz As Double Dim i As Integer Dim x As Double Dim y1 As Double Dim y2 As Double Dim S As Double Dim V As Double Dim P As...

Что такое &HA
Всем привет. Мне нужно понять что делает следующая строка кода: If (Len(Me.Text1.Text) = &HA) Then .... C visual basic...

Что такое ScaleHeight?
Sto takoe ScaleHeight ????

Что такое CRC32 ?
Можете обьяснить в двух словах, что такое этот CRC32? Желательно с примером на VB.

что такое CAPTION ????
что такое CAPTION ????


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru