Паскаль – язык, позволяющий использовать концепции объектно-ориентированного программирования для написания приложений. Обычно изучается в школьных программах. В своем «исходном» виде почти не применяется. Только Pascal все равно важен для разработчиков. Он позволяет освоить навыки ООП, а также создавать небольшие приложения.
При написании программного кода на Паскале необходимо использовать объекты, классы и методы. Все это используется для того, чтобы грамотно реализовать объектно-ориентированное поведение в пределах написанного приложения, особенно если оно базируется на графическом интерфейсе. Далее предстоит поговорить о классах. Без них невозможно представить разработку ни на одном ЯП с поддержкой ООП.
Термины
Перед углубленным изучением классов и методов в Pascal, требуется запомнить несколько базовых определений. Они значительно облегчат дальнейшее погружение в объектно-ориентированную разработку на любом языке:
- Алгоритм – последовательность команд и операций, необходимых для выполнения операции.
- Аргумент – значение, которое будет передаваться в функцию или команду.
- Переменная – именованная ячейка памяти. Элементарная единица программного кода, с которой можно выполнять различные операции.
- Константа – объект, который остается неизменным. Данный принцип распространяется на весь период работы приложения.
- Массив – упорядоченное множество информации. Списки схожих типов значений данных, которые ранее были сгруппированы.
- Операнд – объект, которым можно манипулировать через так называемые операторы.
- Оператор – объект, умеющий управлять операндами в программном коде.
- Ключевое слово – слово, зарезервированное синтаксисом языка. Используется для обозначения команд, функций, операций и параметров.
Отдельно рассмотрим понятия класса на примере ранее упомянутого языка разработки. А еще – принципы работы с ними.
Класс – это…
В объектно-ориентированном программировании – это набор связанных объектов, обладающих общими свойствами. Они помогают обеспечить разработке гибкость и мощность. В Pascal – это специальный тип, который включает в себя:
- поля;
- методы;
- свойства.
Класс здесь определяет структуру и функциональность. Объект выступает конкретным экземпляром класса, работающим в соответствие с заданной ранее логикой.
Классы используются для формирования относительно самостоятельной части кода, используемой при выполнении той или иной задачи. Они делают исходный код более чистым и читабельным, задают его структуру и позволяют использовать сторонние классы без вникания в непосредственную реализацию.
Объявление
Объявление классов происходит точно также, как и в случае с объектом – через объявление типа.
Выше – общая форма представления объявления класса. Для этого необходимо использовать ключевое слово Class. Также можно воспользоваться конструктором с именем Create в классе Root. Каждый абстрактный и конкретный класс – это его потомок.
Особенности
При работе с classes в Паскале необходимо запомнить следующее:
- Определения должны входить только в часть описания типа приложения.
- Обязательно использование или конструктора Create, или ключевого слова Class.
- Полями выступают элементы данных, которые есть в каждом экземпляре class.
- Методы необходимо объявлять в определении рассматриваемого объекта.
- Root – class с предопределенным деструктором под названием Destroy.
Теперь можно написать программу, которая будет создавать экземпляры class прямоугольника, а затем нарисует соответствующую фигуру.
После компиляции на экране появится такой результат.
Это – один из наглядных и не самых сложных примеров. При изучении классов необходимо рассмотреть область их видимости и методы.
Область видимости
Область видимости – указатель на доступность элементов программного кода. В Паскале в случае с classes их пять:
Общественный (public) | Доступны всегда. Они «видны» из любой части кода. |
Частный (private) | Члены доступны в конкретном модуле – том, в котором содержится class. К ним разрешено получить доступ при помощи методов или извне. |
Строгий частный | Члены доступны исключительно из методов class. |
Защищенный | Члены доступны для потомков, даже если они будут реализованы в других модулях. |
Опубликованный. | Почти то же самое, что и публичный. Компилятор будет генерировать сведения о типе, необходимом для потоковой передачи классов. Поля, определенные в разделе, должны иметь class type. |
Теперь можно более подробно рассмотреть существующие виды методов.
Методы
Методы – это подпрограммы (функции или процедуры), которые являются членами заданного класса. Форма вызова:
<Объект> <Метод>
Объявляется в пределах Class в виде обычной подпрограммы с директивой forward. Способ вызова метода задается его модификатором. Указывается после заголовка через точку с запятой. При отсутствии модификатора метод будет статическим. Он вызывается точно также, как и обычная подпрограмма.
Методы в Паскале бывают нескольких типов:
- Абстрактный. Задается ключевым словом abstract. Он определяется, но не включает в себя никаких действий. Не вызывается. Предопределяется в потомках class.
- Наследуемый. Он наследуется у класса-предка.
- Статический метод. Подключается компилятором. Код будет размещаться в статической памяти. Это method «по умолчании». Его реализация определяется типом переменной объекта, для которого он вызывается.
- Виртуальный (virtual). Метод, который будет запускаться при запуске программы. Реализация определяется типом вызываемого method.
- Повторный (reintroduce). Запускается повторно.
- Перекрывающий (override). Обладает таким же именем, как и метод класса-предка. Может быть модифицирован. Не может быть использован относительно статических methods.
- Сообщение (message). Отвечает за обработку сообщений.
Здесь и тут можно посмотреть наглядные примеры использования изученной темы.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!