Объединение в едином объекте, как «материальных» составных частей (голова, лапы, хвост), так и действий, манипулирующих этими частями (действие «бежать» - быстро перемещать лапами), называется инкапсуляцией. Инкапсуляция – это одно из фундаментальных понятий в ООП. Именно с помощью инкапсуляции формируется новый тип данных - объект. Если использовать термины ООП, то инкапсуляция - это комбинирование свойств объекта с методами, то есть с процедурами и функциями, манипулирующими значениями этих свойств.
Структуру и поведение схожих объектов определяет общий для них класс. Класс – это описание некоего множества объектов, имеющих общую структуру и общее поведение. Класс можно сравнить с чертежом, согласно которому создаются объекты. Термины «экземпляр класса» и «объект» взаимозаменяемы.
Объектно-ориентированный подход в программировании подразумевает то, что один класс может повторять структуру и поведение другого класса. Такое отношение между классами называется наследованием.
Класс, структура и поведение которого наследуются, называется суперклассом, а производный от суперкласса класс называется подклассом. Подкласс обычно расширяет или ограничивает существующую структуру и поведение своего суперкласса. Таким образом, существует возможность организации иерархии классов от общего к частному. Например, от общего класса «Хамелеоны», к классу «Пестрый горный хамелеон». То есть класс «Пестрый горный хамелеон» будет наследовать свойства и поведение класса «Хамелеоны», поскольку различным хамелеонам присущи некоторые одинаковые характеристики. При этом пестрые горные хамелеоны будут иметь дополнительные свойства и методы, которые отличают их от прочих.
Еще одним основополагающим понятием ООП является полиморфизм. Полиморфизм представляет собой способность различных объектов выполнять одно и то же действие по-своему. Например, действие «бежать» свойственно большинству животных. Однако каждое из них (лев, слон, крокодил, хамелеон) выполняет это действие различным образом. Суть полиморфизма состоит в присваивании действию одного имени, которое затем совместно используется вниз и вверх по иерархии объектов, причем каждый объект иерархии выполняет это действие способом, именно ему подходящим.
2. Объектно-ориентированный подход и Delphi
Далее будет описано использование объектно-ориентированного подхода к разработке проектов приложений в среде Delphi. Эта среда была выбрана потому, что в ней используется популярный язык Object Pascal.
Язык программирования Object Pascal является объектно-ориентированным расширением языка Pascal, который изучается практически во всех средних и высших учебных заведениях. Следовательно, пользователю, приступающему к разработке проектов в Delphi, будет достаточно просто разобраться в приведенных далее примерах.
Стоит заметить, что на данный момент, язык программирования, используемый в Delphi (начиная с версии 7.0) носит такое же название, как и среда разработки, но в ранних версиях он назывался Object Pascal.
Класс в языке Object Pascal имеет в своем составе переменные, свойства, функции и процедуры.
Переменные класса называются полями, они предназначены для хранения данных в течение всего жизненного цикла объекта.
В отличие от полей, которые являются внутренними, скрытыми атрибутами объекта, его свойства представляют собой внешние проявления поведения. Приведем пример. Вновь начнем кратковременно физически воздействовать на объект «Хамелеон» объектом «Палка». В это время внутри объекта «Хамелеон» могут происходить незаметные для внешнего наблюдателя изменения значений каких-либо полей. Можно сказать, что «Хамелеон» мысленно выругался, разозлился, что в итоге привело к изменению его свойства «Цвет». Читать мысли, то есть поля объекта «Хамелеон» мы не можем, а вот наблюдать за изменением его свойства «Цвет» вполне. То есть именно через свойства, а не через поля мы можем наблюдать изменение состояния объектов.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.