pascalabcnet/PABCNetHelp/LangGuide/Classes/self.html

36 lines
1.2 KiB
HTML

<html>
<head>
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="Self">
</object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<link rel="StyleSheet" href="../../default.css">
</head>
<body>
<H1>Ïåðåìåííàÿ Self</H1>
<p>Âíóòðè êàæäîãî íåñòàòè÷åñêîãî ìåòîäà íåÿâíî îïðåäåëÿåòñÿ ïåðåìåííàÿ
<code>Self</code>, ññûëàþùàÿñÿ íà îáúåêò, âûçâàâøèé ýòîò ìåòîä.
</p>
<p>Íàïðèìåð:</p>
<blockquote>
<p><code><b>type</b> <br>
&nbsp; A =<b> class</b><br>
&nbsp;&nbsp;&nbsp; i: integer;<br>
&nbsp;&nbsp;&nbsp; <b>constructor</b> Create(i: integer);<br>
&nbsp;&nbsp;&nbsp; <b>begin<br>
</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Self.i := i;<br>
&nbsp;&nbsp;&nbsp; <b>end</b>;<br>
&nbsp; <b>end</b>;</code></p>
</blockquote>
<p>Â ìîìåíò âûçîâà êîíñòðóêòîðà <code>Create</code>
îáúåêò áóäåò óæå ñîçäàí. Êîíñòðóêöèÿ <code>Self.i</code>
ññûëàåòñÿ íà ïîëå <code>i</code> ýòîãî îáúåêòà, à íå íà
ïàðàìåòð <code>i</code> ôóíêöèè <code>Create</code>. Ôàêòè÷åñêè â ëþáîì
íåñòàòè÷åñêîì ìåòîäå ïåðåä èìåíåì ëþáîãî ïîëÿ è ìåòîäó ýòîãî êëàññà íåÿâíî
ïðèñóòñòâóåò <code>Self.</code></p>
</body>
</html>