Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник_Часть_2.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1.12 Mб
Скачать

2.1. Введение в объектно-ориентированное программирование

Начиная с первого мнемокода, все средства разработки программ изобретались с единственной целью: чтобы проще было думать. ООП является одним из способов достижения этой цели. Почему проще думать в ООП?

Программа, решающая некоторую задачу, заключает в себе описание части мира, относящегося к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме иерархии подпрограмм. Предпосылки возникновения ООП: модульное программирование, абстрактные типы данных, ситуационное моделирование, фреймы. Первый алгоязык, где были классы и объекты, – Simula-67. Окончательно принципы ООП оформились в языке Smalltalk-80. Среди современных систем программирования, в основу которых положены принципы ООП, можно назвать Delphi, Visual C, Visual Basic.

2.2. Тип Объекты

Рассмотрим пример: рыбки в аквариуме. Объект (рыбки) всегда имеет состояние, это его свойства (значение цвета, размера и т. д.) и методы (действия, на которые способен объект). Чтобы заставить объект что-то сделать (выполнить действия), нужно послать ему сообщение.

Объект представляет собой единство состояния и методов. Программируя объект, его состояние можно хранить в наборе переменных, а методы реализовать в форме процедур и функций.

В Паскале объект – это особый тип данных, а экземпляры объекта – переменные этого типа.

Состояние характеризуется значениями полей объекта.

Методами объекта являются ассоциированные с ним функции и процедуры, которым доступны поля.

Передача сообщений объекту происходит в виде вызовов его методов с заданными параметрами.

Тип объекта можно рассмотреть как усовершенствование типа запись, только поля (описывающие свойства) дополняются методами (описаниями действий с объектом).

В описании объектного типа дают только заголовки соответствующих блоков, а сами блоки приводят ниже. За счёт методов описания сущности как бы «оживают». В ООП оперируют цельными представлениями сущностей.

Описание типа объект дано на рис. 2.1.

Рис. 2.1. Синтаксическая диаграмма типа объект

2.3. Основные понятия ооп. Инкапсуляция. Наследование

Инкапсуляция – объединение информационных полей и методов, которые выполняют над ними действия.

Несмотря на непривычность слова, инкапсуляция – это просто связывание полей и методов в одну структуру (складывание их в одну «капсулу»). Это удобно, хотя и без остальных двух принципов никакого нового качества программирования не возникает. Действительно, если объединить данные хотя бы с алгоритмами доступа к ним, то программист окажется независимым от представления данных в объекте: объект становится абстракцией представления своих собственных данных.

В более общем случае объекту можно приписать свойства (методы), абстрагирующие не только представление, но и придающие объекту другие свойства, к примеру способность отображаться.

Теоретически принцип инкапсуляции применим как к отдельным объектам, так и к классам. В случае классов с методами объединяются не сами данные, а структуры данных, и объединение с конкретными данными происходит в момент создания объектов данного класса. На практике же большинство объектно-ориентированных (ОО) языков просто не позволяют создавать объекты, если предварительно не создан класс.

П р и м е р. Простейший объект – позиция на экране. Пусть в программе необходимо случайным образом выводить точки и получать их координаты.

uses graph;

type pozicia=object {начало описания типа pozicia}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]