693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
|
|
1 | |
пробую научиться работать с классами25.03.2013, 17:44. Показов 9203. Ответов 44
Метки нет (Все метки)
и так как никогда их не использовал прошу помощи
1.Для чего они нужны 2.Как их использовать 3.Что они облегчают
0
|
25.03.2013, 17:44 | |
Ответы с готовыми решениями:
44
Цель: Научиться описанию и работе с классами на языке C# Научиться работать с файлами Как научиться работать с ПК и железом Научиться работать с ORM EntityFramework |
Модератор
|
||||||
25.03.2013, 18:13 | 2 | |||||
Хорошие вопросы... Попробую ответить.
1) для чего они нужны (применительно к VB). Без классов у VB-программиста нет возможности создать двоичную библиотеку. Чтобы создать dll в VB код необходимо "обернуть" в классы. Точно так же не получится использовать библиотеки, созданные другими программистами. Это, пожалуй, единственный случай для VB-программиста, когда он просто не сможет обойтись без классов. Приложения (даже достаточно сложные) можно писать и без классов. Использование классов - это идеология (объектно-ориентированное программирование, ООП). Про ООП есть масса "философской" литературы (можно найти в любом поисковике). Если кратко, ООП - это метод написания повторно-используемого и безопасного кода. 2. Как использовать классы? Очень просто: добавляешь к проекту (мышью) модуль класса, переименовываешь (вместо Class1 - нормальное имя) и задаешь свойства и методы. Для последнего в VB есть замечательная надстройка ClassBuilder - пользоваться удобно! Когда класс создан - можно создавать объекты. Класс - это тип, а объект - экземпляр типа. Пусть в проекте есть класс, описывающий прямоугольник: clsRect. У него свойства height, width, color и метод Show с параметрами left и Top. Тогда создание объекта выглядит так:
Важно то, что объектов можно создавать много (сколько потребуется). 3. Что они облегчают? Реально - создание сложных приложений, моделирующих объекты реального мира. Простые задачи можно реализовать на процедурах (с учетом п.1).
1
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
|
|
25.03.2013, 18:22 | 3 |
В VBA классы нужно создавать самому VBA-программисту только для создания событий.
Больше ни для чего в VBA классы не нужно самому создавать. Все классы уже сделаны программистами из организации "Microsoft" или программистами из других организаций (если используются библиотеки не от организации "Microsoft") и VBA-программисту остаётся только использовать эти классы. Что не является простой задачей, т.к. очень много разных классов и как их все запомнить и уметь в них ориентироваться - для меня, например, это загадка. Я как-то стал вникать в классы, после чего тяжелее стало писать код, т.к. начинаешь представлять себе работу класса и становится очень сложно. А когда ты не знаешь, как работает класс, а просто по VBA-справке и с помощью макрорекордера пишешь макрос, то ничего сложного нет.
2
|
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
|
||||||
25.03.2013, 18:27 [ТС] | 5 | |||||
Catstail, можно ли создать что на подобие
0
|
Модератор
|
|
25.03.2013, 18:29 | 6 |
- странно... Чем может помешать знание?
Добавлено через 1 минуту - да, если, например, clsRect - класс, а его свойство iNum - тоже класс или структура.
0
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
|
|
25.03.2013, 18:29 | 7 |
я начал представлять взаимосвязь класса с другими классами, а у тех классов ещё связь с другими классами и ещё во всём это участвуют свойства и методы и как это всё размещается в оперативной памяти компьютера - я думаю, что всё это представить - это неподъёмная задача для непрофессионального программиста.
0
|
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
25.03.2013, 18:36 | 9 |
Какую задачу ты хочешь решить? Лучше всего классы изучать на конкретных примерах
0
|
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
|
|||||||||||
25.03.2013, 18:43 [ТС] | 10 | ||||||||||
ViterAlex, мне нужно создать типа трьохмерного массива
Добавлено через 2 минуты
Добавлено через 1 минуту или
0
|
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
|
|
25.03.2013, 18:57 [ТС] | 12 |
вопрос остался еще актуален!
0
|
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
25.03.2013, 19:04 | 14 |
IvanOK, для начала отсылаю к вашей теме
Как проверить, в каком из Checkbox пользователь сделал выбор? Реализация массива массивов с помощью коллекции экземпляров класса: Erase для массива, являющегося элементом коллекции
1
|
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
|
|
25.03.2013, 19:13 [ТС] | 15 |
Казанский, вы как всегда нечем дополнить
Добавлено через 4 минуты блин легче не вникать ....если б знал.....стоит оно того или можно решать все с помощю масивов..... так как мне ООП сейчас не нужно
0
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
|
|
25.03.2013, 19:17 | 16 |
IvanOK, ещё для чего класс может понадобится в "VBA" - это если надо создать несколько одинаковых объектов. Вам нужно создавать несколько одинаковых объектов для решения вашей задачи?
Если вы хотели создать класс в качестве базы данных и вам нужен только один экземпляр этого класса, а не несколько, то можно использовать пользовательский тип данных (в других языках программирования пользовательский тип данных называется "структурой"). В нём же много чего можно создать для хранения данных.
1
|
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
|
|
25.03.2013, 19:25 [ТС] | 17 |
0
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
|
||||||
25.03.2013, 19:36 | 18 | |||||
IvanOK, хотя и у пользовательского типа данных можно создавать несколько экземпляров. Так что в вашем случае, даже если понадобится несколько одинаковых объектов, можно попробовать использовать вместо класса "пользоватеслький тип данных":
Кликните здесь для просмотра всего текста
1
|
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
|
|
25.03.2013, 19:41 [ТС] | 19 |
Скрипт, как сделать 3-4 уровня
0
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
|
|
25.03.2013, 20:00 | 20 |
IvanOK, наверное, придётся тогда классы создавать: 3 или 4 класса тогда нужно создавать. У каждого класса свойством будет другой класс и так по-цепочки.
Ни разу такого не делал.
0
|
25.03.2013, 20:00 | |
25.03.2013, 20:00 | |
Помогаю со студенческими работами здесь
20
Хочу научиться работать с сокетами Как научиться работать с ADO.NET Как научиться работать с базами данных? Как научиться работать в среде Sasm? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |