HTML Diff
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>&lt;Объект&gt; &lt;Метод&gt;</p>
44 <p>&lt;Объект&gt; &lt;Метод&gt;</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