Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


nomad____1, Конструктор - он конструирует. Он выполняется один раз при создании объекта. Объект создали, далее конструктор мы не дергаем.
А вот установку параметров (св-тв) объекта - это другая, более интересная и захватывающая история.
Св-ва (поля) планарности и "прямоугольности" объекта Triangle надо сделать закрытыми (private), чтобы я не мог влиять на них извне.

Ситуация.
Я ввожу треугольник (1, 1, 6). Процедура установки параметров отрабатывает ситуацию и сбрасывает флаг планарности.
Процедура вычисления площади, написанная как
if planarity {square = ...} else {...};
отдаст ошибку. При этом я пологая, что для вычисления площади я не буду каждый раз "рассчитывать" условия планарности.
Тогда я принудительно говорю объекту, что он планарен (triangle.planarity = true) и все, здравствуй не верная площадь.
Поэтому признаки должны быть скрытыми (private)
Модификация признаков - в процессе установки сторон треугольника. (Setter

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:04, 28-04-2015 | #19