\b;Proměnná \c;this\n;
Metody \l;třídy\u cbot\class; někdy potřebují ukazatel na instanci, se kterou právě pracují. Například by mohly chtít tento ukazatel předat jiné funkci. V metodách třídy je proto dostupná implicitní proměnná \c;this\n;, která obsahuje ukazatel na aktuální instanci.
\c;
\s;public class MyClass
\s;{
\s;	int    m_int;
\s;	string m_str;
\s;	void MyFunction()
\s;	{
\s;		OtherFunction(this);
\s;		m_int = 2;
\s;	}
\s;}
\s;
\s;void OtherFunction(MyClass obj)
\s;{
\s;	message(obj.m_str);
\s;}
\s;
\s;extern void object::Test()
\s;{
\s;	MyClass item();
\s;	item.m_str = "Ahoj";
\s;	item.MyFunction();  // zobrazí "Ahoj"
\s;}
\n;
Uvnitř metody také můžete napsat \c;this\n; před název prvku třídy, ale není to nutné. Uvnitř metody \c;MyFunction()\n; z předchozího příklady by následující dva řádky měly stejný význam:
\c;
\s;	m_int = 2;
\s;	this.m_int = 2;  // totéž
\n;
V metodě třídy \c;\l;object\u cbot\object;\n; také můžete psát \c;this\n; před názvem prvku.
\c;
\s;extern void object::Display()
\s;{
\s;	message(orientation);
\s;	message(this.orientation); // stejný význam
\s;	                           // ale podrobnější zápis
\s;}
\n;
Ale pokud je název prvku třídy překrytý deklarací parametru nebo proměnné, musíte k němu přistupovat pouze přes proměnnou \c;this\n;. V následujícím příkladu má parametr \c;value\n; stejný název jako prvek \c;value\n; \l;třídy\u cbot\class; \c;MyClass\n;, takže pro odlišení prvku od parametru musíme psát \c;this.value\n;.
\c;
\s;public class MyClass
\s;{
\s;	int  value;
\s;	void Put( int value )
\s;	{
\s;		this.value = value;
\s;	}
\s;}
\n;
\t;Užitečné odkazy
\c;\l;class\u cbot\class;\n;, \c;\l;super\u cbot\super;\n;
\l;Programování\u cbot;, \l;datové typy\u cbot\type; a \l;kategorie\u cbot\category;.
