/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
PABCNetHelp/LangGuide/Classes/abstractmethods.html
64 строки
3 KB
samuraiGH
adding working-tree-encoding attribute (#3325)
07 ноя 2025, 16:12
Не верифицирован
07 ноя 2025, 16:12
cf1fd29
Код
Авторство
О чём код?
<html> <head> <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param name="Keyword" value="Абстрактный метод"> <param name="Keyword" value="abstract"> </object> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title></title> <link rel="StyleSheet" href="../../default.css"> </head> <body> <H1><span lang="ru">Абстрактные </span><span lang="ru">м</span>етоды и классы</H1> <p>Методы<span lang="ru">, предназначенные для переопределения в подклассах, объявляются с ключевым словом </span><code><b>abstract</b></code> <span lang="ru">и называются абстрактными. Данные методы являются <a href="virtual.html">виртуальными</a>, но ключевое слово </span><code><b>virtual</b></code><span lang="ru"> использовать не нужно. Например:</span></p> <blockquote> <p><code><b>type</b> <br> Shape = <b>class</b><br> <b>private</b><br> x,y: integer;<br> <b>public</b><br> <b>constructor</b> Create(xx,yy: integer);<br> <b>begin</b><br> x := xx;<br> y := yy;<br> <b>end</b>;<br> <b>procedure</b> Draw; <b>abstract</b>;<br> <b>end</b>;</code></p> </blockquote> <p><span lang="ru">Классы, содержащие абстрактные методы, также называются <em>абстрактными</em>. Экземпляры этих классов создавать нельзя. </span></p> <p><span lang="ru">Классы с абстрактными методами используются как "полуфабрикаты" для создания других классов. Например:</span></p> <blockquote> <p><code><b>type</b> <br> Point = <b>class</b>(Shape)<br> <b>public</b><br> <b>procedure</b> Draw; <b>override</b>;<br> <b>begin</b><br> PitPixel(x,y,Color.Black);<br> <b>end</b>;<br> <b>end</b>;</code></p> </blockquote> <p><span lang="ru">Использование </span><code><b>override</b></code> <span lang="ru">при переопределении абстрактных методов обязательно, поскольку абстрактные методы являются разновидностью виртуальных. </span></p> <p>Класс можно явно объявить абстрактным, используя ключевое слово <code> <strong>abstract</strong></code>. Обычно абстрактные классы содержат абстрактные методы, но необязательно:</p> <blockquote> <p><code><b>type</b> <br> A = <strong>abstract</strong><b> class</b>(Shape)<br> <b>end</b>;</code></p> </blockquote> <p> </p> <p> </p> </body> </html>