пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Передача объектов в методы. Логические блоки.

Объекты в методы передаются по ссылке, поэтому если в методе изменить значение поля объекта, то это изменение коснется исходного объекта.
Вызов одних методов класса из других методов этого же класса возможен без имени объекта или класса. Кроме того, в методе meth() ссылка p указывает на тот же самый объект, что и ссылка point в методе main(). Чтобы избежать подобных ситуаций, следует создавать в методе локальную копию объекта.
При описании класса могут быть использованы логические блоки. Логическим блоком называется код, заключенный в фигурные скобки и не принадлежащий ни одному методу текущего класса.

{ /* код */ }

Логические блоки чаще всего используются в качестве инициализаторов полей, но могут содержать вызовы методов как текущего класса, так и не принадлежащих ему. При создании объекта класса они вызываются последовательно, в порядке размещения, вместе с инициализацией полей как простая последовательность операторов, и только после выполнения последнего блока будет вызван конструктор класса. Операции с полями класса внутри логического блока до явного объявления этого поля возможны только при использовании ссылки this, которая, как и в С++, представляет собой ссылку на текущий объект.
Логический блок может быть объявлен со спецификатором static. В этом случае он вызывается всегда перед вызовом статического метода данного класса.

 


28.12.2017; 02:13
хиты: 94
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь