показивач this

Методе класа, осим својих параметара, који се виде у декларацији (дефиницији) функције, имају још један скривени параметар. Тај параметар је адреса објекта за који је метода позвана, тј. адреса првог операнда оператора . или вредност првог операнда оператора ->. Тај објекат се назива текући објекат, јер је то објекат који метода обрађује.
За приступање члановима тог текућег објекта довољно је навести само идентификатор члана.
Вредност скривеног параметра (адреса текућег објекта) за време извршавања методе налази се у показивачу this. Тип тог показивача унутар сваке класе је показивач на ту класу.

Заједничке методе (методе које имају модификатор static) не поседују показивач this. Због тога оне непосредно, навођењем имена члана, могу приступати само заједничким члановима (чланови са модификатором static). Сопственим члановима (то су чланови који немају модификатор static) могу да приступају само за конкретан објекат.
Важно је напоменути да заједнички чланови постоје за КЛАСУ, а сопствени чланови постоје за ОБЈЕКТЕ, што значи да у меморији постоји само једна копија заједничких чланова и по једна копија сопствених чланова, за сваки објекат по једна!

Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s