?
ссылка - это все одно, что ты ключи на гвоздик повесил перед своей квартирой
Просто по сути клиент и без ссылки уже получает информацию о том что внутри класса. Да, с одной стороны он наверняка не знает это ли именно там (мы можем вернуть какой-то другой тип в геттер, это может быть логически правильно). Но если посмотреть на такие "тупые" геттеры, то как-то смотриться как нарушение инкапсуляции
Если вам настолько не важно, что пользователь может делать с содержимым класса по этим ссылкам – вероятно, стоит отказался от ключевого слова class и объявить обычную структуру с публичным полями, не переусложняя интерфейс на ровном месте: struct A { int x; int y; }; Пользователю это проще и приятнее читать
каким образом? пока у клиента есть только публичные методы, он ничего не знает о деталях реализации
Ну я бы сказал, что просто нелогично и бессмысленно. Зачем тогда Setter-ы?
Иметь понимание об внутреннем устройстве класса – не то же самое, что иметь понимание об внутреннем устройстве класса и полагаться на него, инкапсуляция – про второе, на мой взгляд
Ну в моем понимании вместо геттера есть условные одна или несколько ф-й calculateSomething() которые и делают всю работу класса. А геттеры смотрятся как расскрытие деталей реализации. Зачем клиенту знать о том что внутри ? Его же должно интересовать только результат работы. т.е. те самые calculcateSomething()
В таком случае клиенту не нужны эти геттеры, оставьте ему только calculcateSomething()
Вот я к этому веду. Вот почему для меня геттеры кажутся как расскрытие реализации. Не всегда конечно
Обсуждают сегодня