Основы объектно-ориентированное программирование в ABAP. (BC401)
Все о семинаре "BC401 - ABAP объекты"
К концу прошлого тысячелетия широко распространился объектно-ориентированной подход к программированию. Объект ‑ это сочетание данных и функциональности по работе с этими данными, это способ думать про данные и про «куски» программного кода, как про нечто единое. Такой подход к программированию более близок нормальному человеческому уму, не «испорченному» процедурным программированием. Понятно, ABAP не мог остаться в стороне от глобального тренда. В ABAP была добавлена возможность и средства объектно-ориентированного программирования. Конечно, простенькие ABAP-программы можно писать процедурным или событийно-ориентированным способами, но вот сложные программы, разрабатываемы большими коллективами в течении значительного времени, а потом нуждающиеся в серьезной адаптации и поддержке удобнее писать объектно-ориентированно. Независимо от желания отдельных программистов новые ABAP разработки ведутся в объектно-ориентированной парадигме, абапер неизбежно с этим столкнётся и должен быть соответственно подготовлен.
Основные концепции, синтаксис и инструменты объектно-ориентированного программирования на языке ABAP даются в семинаре «BC401. ABAP-объекты». Продолжительность семинара - 5 дней. Семинар предназначен для ABAP-разработчиков, может быть полезен консультантам по приложениям, по разработке, и по поддержке. Знание материала этого семинара необходимо для дальнейшего изучения ABAP: для семинаров «BC402. Углубленное ABAP программирование», «BC425. Расширения и модификации», «NET310. Основы ABAP WebDynpro».
Необходимой предпосылкой для участия в семинаре является владение материалом семинара «BC400. Основы ABAP-инструментальных средств».
При постановке задания и описании объектно-ориентированных разработок часто удобно пользоваться языком графических схем UML. Тем более, что в инструментарий ABAP-разработчика встроена функциональность по созданию UML-диаграмм. В семинаре рассматриваются диаграммы классов, объектов и последовательности. Так что первое упражнение семинара – построение UML-диаграммы. Ну а потом идеи, заложенные в эту диаграмму будут постепенно превращаться в ABAP-программу.
Сначала определяется класс, декларируются публичные (открытые) и приватные (закрытые) компоненты: типы, статические и инстанционные атрибуты и методы. Далее программируются методы. Объекты в ABAP безымянны. К ним можно обращаться по переменной типа ссылки на объект. Параметры могут передаваться по ссылке и по значению. Можно определить функциональные методы, такие, которые возвращают лишь один параметр, имена таких методов могут использоваться во многих местах как объекты данных, соответственно возвращаемые параметры могут передаваться только по значению и не допускают родовой типизации. Разумеется, среди методов можно определять конструкторы. Приятная возможность - определение публичных атрибутов read-only, это с одной стороне позволяет хорошо скрыть атрибуты от редактирования, а с другой – не писать get-методы для каждого параметра.
Механизм наследования позволяет производить дочерние классы на основе предковых. Различаются приватные (доступные из текущего класса) и защищенные (доступные из текущего класса и его потомков) компоненты классов. Допускается восходящее и нисходящее приведение, что позволяет реализовать полиморфизм.
Во избежание неоднозначности ABAP не допускает множественного наследования классов. Вместо этого можно работать с интерфейсами. Для компонентов, определенных в интерфейсах можно определить псевдонимы, это позволяет сократить запись и сделать ее более наглядной. Восходящее и нисходящее приведение позволяют реализовать элегантный полиморфизм на интерфейсах.
Событийность - одна из изюминок объектно-ориентированного программирования. Она позволяет не писать программу в виде глубокой суперпозиции селекторов и последовательностных кусков, а вместо этого написать методы-обработчики событий, подписать их на события соответствующих триггеров. В итоге при той же функциональности программа оказывается
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти