Род Стивенс

Книги → Delphi. Готовые алгоритмы → Глава 13. Объектно-ориентированные методы

Использование функций и процедур позволяет программисту разбивать код большой программы на управляемые части. С помощью массивов и структур дан­ных, определяемых пользователем, можно упростить работу с элементами данных, сгруппировав их особым образом.

Благодаря классам возможно группировать логику работы программы и данные различными способами. Класс обеспечивает объединение данных и методов в одном объекте. Этот новый подход к управлению сложностью программ позволяет рассмат­ривать алгоритмы с другой точки зрения.

Данная глава посвящена разъяснению некоторых наиболее важных вопросов, связанных с применением классов Delphi. Здесь описываются преимущества объектно-ориентированного программирования (Object Oriented Programming - OOP) и демонстрируется, какую выгоду можно получить от использования ООП в программах Delphi. Затем в главе рассматривается набор полезных парадигм объектно-ориентированного программирования, с помощью которых вы сможете управлять сложностью ваших приложений.

Преимущества ООП

К традиционно выделяемым преимуществам объектно-ориентированного про­граммирования относятся инкапсуляция, полиморфизм и многократное исполь­зование. В следующих разделах эти преимущества объясняются, также рассказы­вается, как можно лучше всего воспользоваться ими в программах Delphi.

Инкапсуляция

Объект, определенный при помощи класса, инкапсулирует (incapsulation) дан­ные, которые он содержит. Другие части программы могут использовать объект для управления его данными, не зная о том, как сохраняются или изменяются зна­чения данных. Объект предоставляет открытые (public) процедуры и функции, которые позволяют программе косвенно управлять данными и просматривать их. Поскольку данные в таком случае являются абстрактными с точки зрения про­граммы, это также называется абстракцией данных (data abstraction).

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

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

В качестве примера рассмотрим класс FileDownload, который загружает фай­лы из Internet. Программа передает объекту FileDownloadrnopMamno о распо­ложении файла, а объект возвращает строку с содержимым файла. В этом случае программе не требуется знать, каким образом объект производит загрузку файла. Он может выбрать файл, используя модемное соединение или соединение по вы­деленной линии, или даже извлекать файл из локального буфера на диске. Про­грамма знает только то, что объект возвращает строку после того, как ему переда­ется информация о расположении файла.

← предущий раздел следующая →

Страницы раздела: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков

20.11.2015
Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.

Объединение ОС Android и Chrome

17.11.2015
Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.

Конференция Linux Piter 2015

15.11.2015
Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.