- •Основы алгоритмических языков программирования Понятие о языках программирования. Современные языки программирования высокого уровня
- •Лексические единицы языков программирования
- •Интегрированные среды разработки программ
- •История развития технологии vba
- •Интегрированная среда разработки vba
- •Составные части vba-проекта. Добавление пользовательского кода
- •Вывод отладочных сообщений. Пошаговое выполнение и инструменты отладки
- •Концепция памяти. Переменные и их декларация в языках программирования
- •Управляющие структуры выбора
- •Структурные операторы в алгоритмических языках программирования
- •Данная логическая операция имеет следующую таблицу истинности, в которой «0» соответствует значению false, а «1» – true (табл 1).
- •Остальные логические операторы являются двухоперандными. Операция логического умножения and имеет следующую таблицу истинности (табл 2):
- •Наконец операция логического исключающего или представляется следующей таблицей истинности (табл 4):
- •Реализация управляющих структур выбора в vb
- •Циклические управляющие структуры
- •Реализация циклических управляющих структур в vb
- •Цикл с постусловием имеет похожий синтаксис:
- •Основные положения процедурного программирования
- •Реализация процедурного программирования в Visual Basic
- •Фундаментальные структуры данных
- •Массивы в vb
- •Агрегация разнородных типов. Структурные типы данных
- •Тип данных определяемый пользователем в vb
- •Основы объектно-ориентированного программирования
- •Реализация основных идей объектно-ориентированного программирования в языке vb. Поля и методы. Конструирование объекта класса. Адресная природа объекта класса
- •Свойства и события в vb. Связь объекта класса и его клиентов
- •Интерфейс класса в vb и его наследование
Основы объектно-ориентированного программирования
Одной из основных проблем, которые присущи процедурной парадигме программирования является то, что при подобном подходе отсутствуют языковые средства, связывающие разрозненную информацию и алгоритмические процессы. Все данные и процессы при процедурном подходе к программированию находятся «в свободном плавании», и на программиста возлагается задача обеспечить правильность использования каждого элемента. Поскольку такая взаимосвязь на уровне языка отсутствует, может возникнуть проблема конфликтов использования данных несколькими алгоритмическими процессами (подпрограммами). Данная проблема в программировании получила название конфликта использования глобальных переменных.
Другая проблема, которая не может быть решена в процедурном программировании это невозможность программной реализации абстракции сложных процессов обработки данных, а также адекватное представления в программе объектов реального мира. Объекты реального мира, отражаемые в виде программного кода и данных не могут быть представлены в просто как подпрограммы и переменные, так как такие объекты мыслятся как единое целое.
Наконец немаловажным является то, что только подпрограммы универсального назначения могут быть повторно использованы в нескольких проектах, тогда как код, относящийся к реализации большинства бизнес процессов оказывается практически не переносим от одного проекта к другому.
Таким образом, процедурное программирование, хотя и имеет огромные преимущества перед непроцедурным подходом оставляет неразрешенными более сложные задачи программирования. Эти проблемы снимаются в рамках объектно-ориентированного программирования.
Современные ЯП реализуют объектно-ориентированную концепцию программирования основная идея, которой состоит в то, что данные (переменные, структуры) должны быть неразрывно связаны с методами обработки этих данных (подпрограммами). Ключевым элементом данной концепции программирования является особый программный элемент, который получил название объекта (object). Объект также называется абстрактной структурой данных, основным назначением которой является обеспечения единой «обертки» для некоторого набора данных, представленных в простейшем случае в виде переменных, и набора подпрограмм. Предоставление такой оболочки для кода и данных и создание единого целого с точки зрения синтаксиса и семантики языка программирования называется объектной инкапсуляцией. С точки зрения классического объектно-ориентированного программирования каждый объект является реализацией или воплощением некоторого абстрактного типа данных подобно тому, как скалярная переменная является воплощением обычного скалярного типа. Абстрактный тип данных называют также классом объектов. Класс представляет собой программную единицу, которая реализует структуры данных и подпрограммы для их обработки. Данные, описанные в классе объектов, принято называть полями, а подпрограммы – методами. В ООП также определено понятие свойства как специального метода, основным назначением которого является корректный доступ к полю класса объекта. Поля, методы и свойства называются компонентами класса или его членами (class members). Под термином поля класса по существу понимают переменную класса, предназначенную для хранения данных, которые раздельно существуют для каждого экземпляра класса. Метод в свою очередь является процедурой или функцией, которая ассоциирована с классом в целом и разделяется всеми его объектами. Все методы, за исключением особых, которые называются методами класса, создаются вместе с экземпляром класса.
