Я создаю некоторый материал для ООП (объектно-ориентированное программирование) в VBA. Кто-либо может перечислить меня понятия ООП, которые доступны в VBA?
Например, от моего чтения я обнаружил что:
Вот некоторые наблюдения, которые я сделал во время работы с концепциями ООП в VBA:
Class_Initialize
, который вызывается при создании экземпляра объекта, но его нельзя перегружать для обработки параметров. Если вы хотите, чтобы ваш класс не был «полностью функциональным» без установки определенных свойств, вам придется написать свой собственный способ сделать это. Парадигма VB6 / VBA рассматривает классы как способ инкапсулировать функциональные возможности и свойства объекта. В этом смысле объекты VB6 / VBA существуют так же, как и любая другая базовая среда ООП, и их использование и дизайн следует поощрять там, где это необходимо.
Однако отсутствие нескольких ключевых функций ООП приводит к тому, что VB6 / VBA не может полностью реализовать полный шаблон проектирования ООП.
VBA поддерживает одни концепции объектно-ориентированного программирования, но не другие.
С VBA вы можете создавать свои собственные классы, и вы можете создавать объекты из этих классов. Однако VBA НЕ поддерживает наследование и не поддерживает «полиморфизм» в классическом значении этого термина, который используется в объектно-ориентированных языках, таких как C ++ или .NET.
Классы VBA поддерживают инкапсуляцию и абстракцию.