0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Термины</a></li>
1
<ul><li><a>Термины</a></li>
2
<li><a>Класс - это…</a><ul><li><a>Особенности</a></li>
2
<li><a>Класс - это…</a><ul><li><a>Особенности</a></li>
3
</ul></li>
3
</ul></li>
4
<li><a>Область видимости</a></li>
4
<li><a>Область видимости</a></li>
5
<li><a>Методы</a></li>
5
<li><a>Методы</a></li>
6
</ul><p>Паскаль - язык, позволяющий использовать концепции объектно-ориентированного программирования для написания приложений. Обычно изучается в школьных программах. В своем "исходном" виде почти не применяется. Только Pascal все равно важен для разработчиков. Он позволяет освоить навыки ООП, а также создавать небольшие приложения.</p>
6
</ul><p>Паскаль - язык, позволяющий использовать концепции объектно-ориентированного программирования для написания приложений. Обычно изучается в школьных программах. В своем "исходном" виде почти не применяется. Только Pascal все равно важен для разработчиков. Он позволяет освоить навыки ООП, а также создавать небольшие приложения.</p>
7
<p>При написании программного кода на Паскале необходимо использовать объекты, классы и методы. Все это используется для того, чтобы грамотно реализовать объектно-ориентированное поведение в пределах написанного приложения, особенно если оно базируется на графическом интерфейсе. Далее предстоит поговорить о классах. Без них невозможно представить разработку ни на одном ЯП с поддержкой ООП.</p>
7
<p>При написании программного кода на Паскале необходимо использовать объекты, классы и методы. Все это используется для того, чтобы грамотно реализовать объектно-ориентированное поведение в пределах написанного приложения, особенно если оно базируется на графическом интерфейсе. Далее предстоит поговорить о классах. Без них невозможно представить разработку ни на одном ЯП с поддержкой ООП.</p>
8
<h2>Термины</h2>
8
<h2>Термины</h2>
9
<p>Перед углубленным изучением классов и методов в Pascal, требуется запомнить несколько базовых определений. Они значительно облегчат дальнейшее погружение в объектно-ориентированную разработку на любом языке:</p>
9
<p>Перед углубленным изучением классов и методов в Pascal, требуется запомнить несколько базовых определений. Они значительно облегчат дальнейшее погружение в объектно-ориентированную разработку на любом языке:</p>
10
<ol><li>Алгоритм - последовательность команд и операций, необходимых для выполнения операции.</li>
10
<ol><li>Алгоритм - последовательность команд и операций, необходимых для выполнения операции.</li>
11
<li>Аргумент - значение, которое будет передаваться в функцию или команду.</li>
11
<li>Аргумент - значение, которое будет передаваться в функцию или команду.</li>
12
<li>Переменная - именованная ячейка памяти. Элементарная единица программного кода, с которой можно выполнять различные операции.</li>
12
<li>Переменная - именованная ячейка памяти. Элементарная единица программного кода, с которой можно выполнять различные операции.</li>
13
<li>Константа - объект, который остается неизменным. Данный принцип распространяется на весь период работы приложения.</li>
13
<li>Константа - объект, который остается неизменным. Данный принцип распространяется на весь период работы приложения.</li>
14
<li>Массив - упорядоченное множество информации. Списки схожих типов значений данных, которые ранее были сгруппированы.</li>
14
<li>Массив - упорядоченное множество информации. Списки схожих типов значений данных, которые ранее были сгруппированы.</li>
15
<li>Операнд - объект, которым можно манипулировать через так называемые операторы.</li>
15
<li>Операнд - объект, которым можно манипулировать через так называемые операторы.</li>
16
<li>Оператор - объект, умеющий управлять операндами в программном коде.</li>
16
<li>Оператор - объект, умеющий управлять операндами в программном коде.</li>
17
<li>Ключевое слово - слово, зарезервированное синтаксисом языка. Используется для обозначения команд, функций, операций и параметров.</li>
17
<li>Ключевое слово - слово, зарезервированное синтаксисом языка. Используется для обозначения команд, функций, операций и параметров.</li>
18
</ol><p>Отдельно рассмотрим понятия класса на примере ранее упомянутого языка разработки. А еще - принципы работы с ними.</p>
18
</ol><p>Отдельно рассмотрим понятия класса на примере ранее упомянутого языка разработки. А еще - принципы работы с ними.</p>
19
<h2>Класс - это…</h2>
19
<h2>Класс - это…</h2>
20
<p>В объектно-ориентированном программировании - это набор связанных объектов, обладающих общими свойствами. Они помогают обеспечить разработке гибкость и мощность. В Pascal - это специальный тип, который включает в себя:</p>
20
<p>В объектно-ориентированном программировании - это набор связанных объектов, обладающих общими свойствами. Они помогают обеспечить разработке гибкость и мощность. В Pascal - это специальный тип, который включает в себя:</p>
21
<ul><li>поля;</li>
21
<ul><li>поля;</li>
22
<li>методы;</li>
22
<li>методы;</li>
23
<li>свойства.</li>
23
<li>свойства.</li>
24
</ul><p>Класс здесь определяет структуру и функциональность. Объект выступает конкретным экземпляром класса, работающим в соответствие с заданной ранее логикой.</p>
24
</ul><p>Класс здесь определяет структуру и функциональность. Объект выступает конкретным экземпляром класса, работающим в соответствие с заданной ранее логикой.</p>
25
<p>Классы используются для формирования относительно самостоятельной части кода, используемой при выполнении той или иной задачи. Они делают исходный код более чистым и читабельным, задают его структуру и позволяют использовать сторонние классы без вникания в непосредственную реализацию.</p>
25
<p>Классы используются для формирования относительно самостоятельной части кода, используемой при выполнении той или иной задачи. Они делают исходный код более чистым и читабельным, задают его структуру и позволяют использовать сторонние классы без вникания в непосредственную реализацию.</p>
26
<p>Объявление</p>
26
<p>Объявление</p>
27
<p>Объявление классов происходит точно также, как и в случае с объектом - через объявление типа.</p>
27
<p>Объявление классов происходит точно также, как и в случае с объектом - через объявление типа.</p>
28
<p>Выше - общая форма представления объявления класса. Для этого необходимо использовать ключевое слово Class. Также можно воспользоваться конструктором с именем Create в классе Root. Каждый абстрактный и конкретный класс - это его потомок.</p>
28
<p>Выше - общая форма представления объявления класса. Для этого необходимо использовать ключевое слово Class. Также можно воспользоваться конструктором с именем Create в классе Root. Каждый абстрактный и конкретный класс - это его потомок.</p>
29
<h3>Особенности</h3>
29
<h3>Особенности</h3>
30
<p>При работе с classes в Паскале необходимо запомнить следующее:</p>
30
<p>При работе с classes в Паскале необходимо запомнить следующее:</p>
31
<ol><li>Определения должны входить только в часть описания типа приложения.</li>
31
<ol><li>Определения должны входить только в часть описания типа приложения.</li>
32
<li>Обязательно использование или конструктора Create, или ключевого слова Class.</li>
32
<li>Обязательно использование или конструктора Create, или ключевого слова Class.</li>
33
<li>Полями выступают элементы данных, которые есть в каждом экземпляре class.</li>
33
<li>Полями выступают элементы данных, которые есть в каждом экземпляре class.</li>
34
<li>Методы необходимо объявлять в определении рассматриваемого объекта.</li>
34
<li>Методы необходимо объявлять в определении рассматриваемого объекта.</li>
35
<li>Root - class с предопределенным деструктором под названием Destroy.</li>
35
<li>Root - class с предопределенным деструктором под названием Destroy.</li>
36
</ol><p>Теперь можно написать программу, которая будет создавать экземпляры class прямоугольника, а затем нарисует соответствующую фигуру.</p>
36
</ol><p>Теперь можно написать программу, которая будет создавать экземпляры class прямоугольника, а затем нарисует соответствующую фигуру.</p>
37
<p>После компиляции на экране появится такой результат.</p>
37
<p>После компиляции на экране появится такой результат.</p>
38
<p>Это - один из наглядных и не самых сложных примеров. При изучении классов необходимо рассмотреть область их видимости и методы.</p>
38
<p>Это - один из наглядных и не самых сложных примеров. При изучении классов необходимо рассмотреть область их видимости и методы.</p>
39
<h2>Область видимости</h2>
39
<h2>Область видимости</h2>
40
<p>Область видимости - указатель на доступность элементов программного кода. В Паскале в случае с classes их пять:</p>
40
<p>Область видимости - указатель на доступность элементов программного кода. В Паскале в случае с classes их пять:</p>
41
Общественный (public)Доступны всегда. Они "видны" из любой части кода.Частный (private)Члены доступны в конкретном модуле - том, в котором содержится class. К ним разрешено получить доступ при помощи методов или извне.Строгий частныйЧлены доступны исключительно из методов class.ЗащищенныйЧлены доступны для потомков, даже если они будут реализованы в других модулях.Опубликованный.Почти то же самое, что и публичный. Компилятор будет генерировать сведения о типе, необходимом для потоковой передачи классов. Поля, определенные в разделе, должны иметь class type.<p>Теперь можно более подробно рассмотреть существующие виды методов.</p>
41
Общественный (public)Доступны всегда. Они "видны" из любой части кода.Частный (private)Члены доступны в конкретном модуле - том, в котором содержится class. К ним разрешено получить доступ при помощи методов или извне.Строгий частныйЧлены доступны исключительно из методов class.ЗащищенныйЧлены доступны для потомков, даже если они будут реализованы в других модулях.Опубликованный.Почти то же самое, что и публичный. Компилятор будет генерировать сведения о типе, необходимом для потоковой передачи классов. Поля, определенные в разделе, должны иметь class type.<p>Теперь можно более подробно рассмотреть существующие виды методов.</p>
42
<h2>Методы</h2>
42
<h2>Методы</h2>
43
<p>Методы - это подпрограммы (функции или процедуры), которые являются членами заданного класса. Форма вызова:</p>
43
<p>Методы - это подпрограммы (функции или процедуры), которые являются членами заданного класса. Форма вызова:</p>
44
<p><Объект> <Метод></p>
44
<p><Объект> <Метод></p>
45
<p>Объявляется в пределах Class в виде обычной подпрограммы с директивой forward. Способ вызова метода задается его модификатором. Указывается после заголовка через точку с запятой. При отсутствии модификатора метод будет статическим. Он вызывается точно также, как и обычная подпрограмма.</p>
45
<p>Объявляется в пределах Class в виде обычной подпрограммы с директивой forward. Способ вызова метода задается его модификатором. Указывается после заголовка через точку с запятой. При отсутствии модификатора метод будет статическим. Он вызывается точно также, как и обычная подпрограмма.</p>
46
<p>Методы в Паскале бывают нескольких типов:</p>
46
<p>Методы в Паскале бывают нескольких типов:</p>
47
<ol><li>Абстрактный. Задается ключевым словом abstract. Он определяется, но не включает в себя никаких действий. Не вызывается. Предопределяется в потомках class.</li>
47
<ol><li>Абстрактный. Задается ключевым словом abstract. Он определяется, но не включает в себя никаких действий. Не вызывается. Предопределяется в потомках class.</li>
48
<li>Наследуемый. Он наследуется у класса-предка.</li>
48
<li>Наследуемый. Он наследуется у класса-предка.</li>
49
<li>Статический метод. Подключается компилятором. Код будет размещаться в статической памяти. Это method "по умолчании". Его реализация определяется типом переменной объекта, для которого он вызывается.</li>
49
<li>Статический метод. Подключается компилятором. Код будет размещаться в статической памяти. Это method "по умолчании". Его реализация определяется типом переменной объекта, для которого он вызывается.</li>
50
<li>Виртуальный (virtual). Метод, который будет запускаться при запуске программы. Реализация определяется типом вызываемого method.</li>
50
<li>Виртуальный (virtual). Метод, который будет запускаться при запуске программы. Реализация определяется типом вызываемого method.</li>
51
<li>Повторный (reintroduce). Запускается повторно.</li>
51
<li>Повторный (reintroduce). Запускается повторно.</li>
52
<li>Перекрывающий (override). Обладает таким же именем, как и метод класса-предка. Может быть модифицирован. Не может быть использован относительно статических methods.</li>
52
<li>Перекрывающий (override). Обладает таким же именем, как и метод класса-предка. Может быть модифицирован. Не может быть использован относительно статических methods.</li>
53
<li>Сообщение (message). Отвечает за обработку сообщений.</li>
53
<li>Сообщение (message). Отвечает за обработку сообщений.</li>
54
</ol><p>Здесь и тут можно посмотреть наглядные примеры использования изученной темы.</p>
54
</ol><p>Здесь и тут можно посмотреть наглядные примеры использования изученной темы.</p>
55
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
55
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> </p>
56
56