powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / наследование в классах VBA
9 сообщений из 9, страница 1 из 1
наследование в классах VBA
    #39883158
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще раз здравствуйте!)
Подскажите пожалуйста, есть ли полноценное наследование в VBA?

Что имею в виду, приведу аналогию с Java. (без конструкторов и полей, просто концепцию) Есть некий класс с определенным количеством методов .

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public class МойКласс1
{
Public void Метод1(){
...
}
Public void Метод2(){
....
}
}



В какой то момент мне потребовалось создать еще один класс, который офигенно похож на первый, первые два метода должны работать как в этом первом, но вот третий отличается. Вместо того ,чтобы создавать заново МойКласс2 и прописывать для него методы №1 и №2 заново, в Java при создании я просто наследую все методы из МойКласс1, а третий метод так и быть создаю в новом МойКласс2 :)

Код: java
1.
2.
3.
4.
5.
6.
Public class МойКласс2 extends МойКласс1
{
Public void Метод3(){
...
}
}


Получаем на выходе в классе №2 все работающие автоматом методы из первого класса + дополнительный третий.


Можно можно ли так в VBA?
...
Рейтинг: 0 / 0
наследование в классах VBA
    #39883167
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловПодскажите пожалуйста, есть ли полноценное наследование в VBA?нет
...
Рейтинг: 0 / 0
наследование в классах VBA
    #39883168
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
наследование в классах VBA
    #39883171
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов, есть только наследование интерфейсов, но всё (методы, свойства, события) надо реализовывать.
...
Рейтинг: 0 / 0
наследование в классах VBA
    #39883177
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов, в VBA концептуально, делаю так
а)создается экземпляр модуля класса MyClass1, в котором прописывается дочерний модуль класса с новыми свойствами myClass2, он запускается, и из него берутся новые свойства, и ставим переключатель:то у нас модуль класса работает один, то + потомок, то с кучей потомков(но больше одного потомка как то не доводилось запускать, а вот потомок-потомок- было). более того, возможно и обратное получение данных от родителя через myClass2. Регистрируем в myClass2 родителя, связываемся myClass2.parent=me и получаем данные из MyClass1.
б) создаем новый модуль класса myClass2 и цепляем к нему старый модуль класса потомком MyClass1, запускаем и получаем оттуда нужные нам данные.
...
Рейтинг: 0 / 0
наследование в классах VBA
    #39883185
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за наводки!)

Буду вкуривать. На пару ссылок от Joss вчера вечером уже ходил, искал) Прямого решения, не "из-за угла" по ходу нет, к сожалению.

Наследование интерфейса к сожалению это не наследование класса). Я при наследовании интерфейса не смогу перезагрузить (типа @overrige как в Java) метод к примеру. В общем все сводиться к юзанью пропертей)

alecko - у вас народное, физическое так сказать наследование) По сути это как два экземпляра одного и того же класса, просто для второго вы используете метод /свойство, который в первом экземпляре не использовали:)
Я примерно также пытался обкрутить свою реализацию наследования ))
...
Рейтинг: 0 / 0
наследование в классах VBA
    #39883201
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов, нет это не так. я спрашиваю у 1-го, он спрашивает у второго и предает ответ мне первый. классы разные. причем абсолютно. причем второй это может быть вообще отчет какой-нить. Второй модуль класса - это не копия первого - совсем другой модуль класса, запущен внутри первого модуля класса и может быть даже не виден нигде, кроме как у родителя не "Public" а "Frend".
Наследование интерфейсов работает нормально тоже, а вот наследования методов - тут увы и ах для каждого случая нужно прописывать свою реализацию методов, тогда как модуль интерфейсов можно использовать один.
...
Рейтинг: 0 / 0
наследование в классах VBA
    #39883214
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловНаследование интерфейса к сожалению это не наследование класса).ну какбэ я тебе сразу и написал, что его нет.
...
Рейтинг: 0 / 0
наследование в классах VBA
    #39883241
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
понял)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / наследование в классах VBA
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]