Файл: Основные структуры алгоритмов: сравнительный анализ и примеры их использования (Технология объектно-ориентированного программирования).pdf
Добавлен: 24.04.2023
Просмотров: 388
Скачиваний: 2
СОДЕРЖАНИЕ
ГЛАВА I. Основы алгоритмизации
1.4 Правила построения алгоритмов на языке блок-схем
ГЛАВА II. Простейшие конструкции языка программирования QBasic
ГЛАВА III. ЯЗЫКИ ПРОГРАММИРОВАНИЯ
3.3 Эволюция и классификация языков программирования
ГЛАВА IV. Технология объектно-ориентированного программирования
4.1. Объектно-ориентированный подход
4.2. Основные понятия объектно-ориентированного программирования
4.3. Принципы объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм
Любой класс может быть порожден от другого класса. Для этого при его объявлении указывается имя класса-родителя:
TChildCIass = class (TParentClass )
Порожденный класс автоматически наследует поля, методы и свойства своего родителя и может добавлять их новыми. Таким образом, принцип наследования обеспечивает поэтапное создание сложных классов и разработку собственных библиотек классов.
Все классы в Object Pascal порождены от единственного родителя - класса TObject. Этот класс не имеет полей и свойств, но включает в себя методы самого общего назначения, обеспечивающие весь жизненный цикл любых объектов - от их создания до уничтожения. Поэтому программист не может создать класс, который не был бы дочерним классом TObject. Следующие два объявления идентичны.
TaClass = class(TObject) <==> TaClass = class
Принцип наследования приводит к созданию ветвящегося дерева классов. Каждый потомок дополняет возможности своего родителя новыми и передает их своим потомкам. Например, класс TPersistent обогащает возможности своего родителя TObject тем, что он умеет сохранять данные в файле и получать их из него, в результате это умеют делать и все его потомки. Класс TComponent, в свою очередь, умеет взаимодействовать со средой разработчика и передает это умение своим потомкам. TControl не только способен работать с файлами и средой разработчика, но он еще умеет создавать и обслуживать видимые на экране изображения, а его потомок TWinControl может создавать Windows-окна и т. д.
В Object Pascal возможно только так называемое одиночное наследование, но в реальном мире у потомка два родителя, поэтому в ряде языков (например, в C++) предусмотрен механизм множественного наследования. Множественное наследование более логично с точки зрения моделирования реального мира, однако, оно усложняет реализацию языков программирования.
Полиморфизм. Одним из базовых понятий технологии объектно-ориентированного программирования является полиморфизм. Этот термин имеет греческое происхождение и приблизительно означает «много форм» (poly — много, morphos — форма).
Полиморфизм - это средство для придания различных значений одному и тому же событию в зависимости от типа обрабатываемых данных. Этот принцип определяет различные формы реализации одноименного действия.
Целью полиморфизма является использование одного имени для задания общих для класса действий, причем каждый объект или класс иерархии имеет возможность по-своему реализовать это действие своим собственным, подходящим для него, кодом. Таким образом, полиморфизм является свойством классов решать схожие по смыслу проблемы разными способами.
В рамках Object Pascal поведенческие свойства класса определяются набором входящих в него методов. Этот принцип используется, когда требуется расширить свойства класса не путем добавления новых методов, а путем достраивания одного из методов или набора методов. Изменяя алгоритм того или иного метода в потомках класса, программист может придавать этим потомкам отсутствующие у родителя специфические свойства.
Для изменения метода необходимо перекрыть его в потомке, т. е. объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате в объекте-родителе и объекте-потомке будут действовать два одноименных метода, имеющие различную алгоритмическую основу и придающие объектам разные свойства. В этом сущность полиморфизма объектов.
Кроме этого, в Object Pascal полиморфизм достигается не только механизмом наследования и перекрытия методов родителя, но и их виртуализацией, позволяющей родительским методам обращаться к методам своих потомков.
ЗАКЛЮЧЕНИЕ
Хочется верить, что, пролистав учебное пособие, учащийся не потеряет к нему интерес и найдет применение изложенному материалу на лабораторных занятиях при решении задач на составление алгоритмов, написании программ, а также при подготовке и сдаче компьютерных тестов и экзамена по рассмотренным темам.
Почему авторы выбрали язык программирования Qbasic, ведь в настоящее время существует большое количество алгоритмических языков, которым присущи как общие, так и отличительные черты. Это и Фортран, и Паскаль и др.
Бейсик (BASIC) – это сокращение английских слов Beginners Allpurpouse Symbolic Instraction Code, что в переводе означает «многоцелевой язык символических инструкций для начинающих». Он был разработан профессорами Дартмутского колледжа (США) Т. Куртцем и Дж. Кемени в 1965 году для обучения студентов, незнакомых с вычислительной техникой. Этот язык, благодаря простоте, стал очень популярным. Особенно его популярность повысилась с появлением персональных компьютеров, где он стал одним из основных языков программирования.
Существует множество версий языка Бейсик, более сорока, и все они имеют особенности. Это и Qbasic, и Visual Basic, и др. Но в каждой из них можно выделить общее, в котором отражены характерные (стандартные) грамматика, синтаксис и семантика языка. Наиболее популярной версией для обучения программированию является Qbasic, благодаря удобному интерфейсу и представлению пользователю ряда сервисных возможностей, присущих современным системам программирования. На примере Qbasic можно наглядно увидеть те характерные особенности, которые присущи программированию на алгоритмических языках вообще. Поэтому тексты представленных в учебном пособии программ отлажены именно в нем.