Особенности объектно-ориентированного программирования

Язык Object Pascal является объектно-ориентированным расширением языка Pascalи реализует концепцию объектно-ориентированного программирования, которые заключается в том, что приложение будет состоять из объектов, которые должны взаимодействовать между собой. Каждый объект имеет свои свойства (характеристики), методы, определяющие поведение этого объекта и события, на которые он реагирует.

Основными принципами объектно- ориентированного программирования являются:

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

· наследование

· полиформизм

Инкапсуляция представляет собой объединение данных и обрабатывающих их методов (подпрограмм) внутри класса. Т.е. в классе объединяются (помещаются внутри класса) поля, свойства и методы [5].

Наследование заключается в том, что объявляются новые объекты-потомки, которые наследуют от объекта-родителя все поля, свойства и методы. Объект-потомок может использовать их без изменения, а также может их модифицировать. Само по себе наследование не имеет смысла, поэтому в новый объект добавляются новые элементы, определяющие его особенность. Удалить какие либо элементы родителя нельзя, можно породить следующий объект от нового потомка, в результате образуется дерево классов. В начале этого дерева стоит базовый класс TObject, который реализует общие для всех объектов элементы, такие как создание и удаление объектов.

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

Классы

В языке Object Pascal классы являются специальными типами данных и используются для описания объектов. Таким образом объект является экземпляром соответствующего класса или переменной этого типа.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: