русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Привласнення і порівняння об'єктів


Дата додавання: 2014-10-02; переглядів: 811.


 

Механізм виконання привласнення один і той же для величин будь-якого типу, як посилального, так і значущого, проте результати розрізняються. При наданні значення копіюється значення, а при привласненні посилання - посилання, тому після привласнення одного об'єкту іншому ми отримуємо два посилання, вказуючи на одну і ту ж область пам'яті (рис. 5.2).

Рисунок ілюструє ситуацію, коли було створено три об'єкти, а, b і с, а потім виконано привласнення b = с. Старе значення b стає недоступним і очищається складальником сміття. З цього виходить, якщо змінити значення однієї величини посилального типу, це може відбитися на іншій (в даному випадку, якщо змінити об'єкт через посилання с, об'єкт b також змінить своє значення).

Аналогічна ситуація з операцією перевірки на рівність. Величини значущого типу рівні, якщо рівні їх значення. Величини посилального типу рівні, якщо вони посилаються на одні і ті ж дані (на рисунку об'єкти b і с рівні, але а не рівне b навіть при рівності їх значень або якщо вони обидві рівні null).

Рис. 5.1. Склад класу

Рис. 5.2. Привласнення об'єктів


<== попередня лекція | наступна лекція ==>
Тіло класу | Дані: поля і константи


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн