pascalabcnet/PABCNetHelp/LangGuide/Classes/abstractmethods.html

64 lines
2.5 KiB
HTML

<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>
&nbsp; Shape = <b>class</b><br>
&nbsp; <b>private</b><br>
&nbsp;&nbsp;&nbsp; x,y: integer;<br>
&nbsp; <b>public</b><br>
&nbsp;&nbsp;&nbsp; <b>constructor</b> Create(xx,yy: integer);<br>
&nbsp;&nbsp;&nbsp; <b>begin</b><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x := xx;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y := yy;<br>
&nbsp;&nbsp;&nbsp; <b>end</b>;<br>
&nbsp;&nbsp;&nbsp; <b>procedure</b> Draw; <b>abstract</b>;<br>
&nbsp; <b>end</b>;</code></p>
</blockquote>
<p><span lang="ru">Êëàññû, ñîäåðæàùèå àáñòðàêòíûå ìåòîäû, òàêæå íàçûâàþòñÿ
<em>àáñòðàêòíûìè</em>. Ýêçåìïëÿðû ýòèõ êëàññîâ ñîçäàâàòü íåëüçÿ. </span></p>
<p><span lang="ru">Êëàññû ñ àáñòðàêòíûìè ìåòîäàìè èñïîëüçóþòñÿ êàê
&quot;ïîëóôàáðèêàòû&quot; äëÿ ñîçäàíèÿ äðóãèõ êëàññîâ. Íàïðèìåð:</span></p>
<blockquote>
<p><code><b>type</b> <br>
&nbsp; Point = <b>class</b>(Shape)<br>
&nbsp; <b>public</b><br>
&nbsp;&nbsp;&nbsp; <b>procedure</b> Draw; <b>override</b>;<br>
&nbsp;&nbsp;&nbsp; <b>begin</b><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PitPixel(x,y,Color.Black);<br>
&nbsp;&nbsp;&nbsp; <b>end</b>;<br>
&nbsp; <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>
&nbsp; A = <strong>abstract</strong><b> class</b>(Shape)<br>
&nbsp; <b>end</b>;</code></p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>