Відмінності у використанні get-теров, set-теров з одного боку і полів класу - з іншого

Які виникають відмінності при використанні get-теров, set-теров з одного боку і полів класу - з іншого.

Такого питання не було в моєму досвіді, але мені здається, він цілком реальний і цікавий. Тому привів його і розглянув з точки зору функціональних можливостей.

Припустимо, що в get-тере стоїть просте витяг, а в set-тере - просте присвоювання значень відповідного полю, і обидва методи мають той же модифікатор доступу, що і поле. тоді:

1. Якщо обидва методи і поле статичні: то відмінностей в використанні немає: 2. Якщо обидва методи і полі не статичні: Те:
a. Якщо клас не має підкласів, відмінностей у використанні немає.
b. Якщо клас (будемо називати його суперклас) має підклас, виникають відмінності у використанні.
При прямому зверненні до поля екземпляра класу відбувається звернення до полю рівня класу, в той час як при зверненні до методу екземпляра класу відбувається звернення до методу нижнього рівня з відповідною зміною значення поля.
Нехай на екземпляр підкласу посилається змінна з типом суперкласу: Тоді звернення до полю суперкласу не змінює значення поля підкласу. Якщо замість «...» в прикладі вище підставити код: то в рядку виведення отримаємо:

Якщо Вам сподобався питання, проголосуйте за нього

alexanderitomy rodionovsasha T1bald saha0074 nikita88pkr igor2265 mf15 TamTam svent0vit bokov homesandbox sambas Bellatrix Ronny147 user04 Assasin92 almesa iCleveret SamTan AlexVovolka Arch0n alext64 Ruzveld publo belict dcba1257908 olyanca Akula omark Micahel stasico Bawarez xpusha