Difference between revisions of "Method"

From Free Pascal wiki
Jump to navigationJump to search
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Method}}
 
{{Method}}
  
== Definition ==
+
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>]].
A '''method''' is a [[Procedure|procedure]] that is part of an object, or a [[Function|function]] that is a part of an [[object]] and which cannot be assigned a value from outside of the function.  A function that is part of an object that can be assigned a value from outside of the function is called a [[property]].
 
  
[[Category:Pascal]]
+
== self identifier ==
[[Category:Control Structures]]
+
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 17: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