Difference between revisions of "Method"

From Lazarus wiki
Jump to navigationJump to search
 
 
(14 intermediate revisions by 7 users not shown)
Line 1: Line 1:
A '''method''' is a [[procedure]] or [[function]] that is a part of an [[object]], and which cannot be assigned a value.   A function that is part of an object that can be assigned a value is called a [[property]].
+
{{Method}}
 +
 
 +
A '''method''' is a [[Routine|routine]] that is associated with an [[Object|<syntaxhighlight lang="pascal" inline>object</syntaxhighlight>]] or [[Class|<syntaxhighlight lang="pascal" inline>class</syntaxhighlight>]].
 +
 
 +
== self identifier ==
 +
Inside method definitions the special identifier <syntaxhighlight lang="pascal" inline>self</syntaxhighlight> is available.
 +
In static or class methods it identifies the <syntaxhighlight lang="pascal" inline>object</syntaxhighlight>/<syntaxhighlight lang="pascal" inline>class</syntaxhighlight> type itself.
 +
In instance methods <syntaxhighlight lang="pascal" inline>self</syntaxhighlight> identifies the very instance.
 +
 
 +
However, since static class methods are just “global” routines within the type's namespace, such methods do not know the <syntaxhighlight lang="pascal" inline>self</syntaxhighlight> identifier.
 +
[https://www.freepascal.org/docs-html/ref/refsu30.html ¹][https://www.freepascal.org/docs-html/ref/refsu22.html#x66-880005.5.2 ²]
 +
 
 +
== see also ==
 +
* [[Property|<syntaxhighlight lang="pascal" inline>property</syntaxhighlight>]]

Latest revision as of 16:22, 6 August 2022

English (en) français (fr) русский (ru)

A method is a routine that is associated with an object or class.

self identifier

Inside method definitions the special identifier self is available. In static or class methods it identifies the object/class type itself. In instance methods self identifies the very instance.

However, since static class methods are just “global” routines within the type's namespace, such methods do not know the self identifier. ¹²

see also