170 похожих чатов

А это важно возвращает ли там геттер ссылку или нет

?

11 ответов

9 просмотров

ссылка - это все одно, что ты ключи на гвоздик повесил перед своей квартирой

Illia Palkin- Автор вопроса
Anatoly Shirokov
ссылка - это все одно, что ты ключи на гвоздик пов...

Просто по сути клиент и без ссылки уже получает информацию о том что внутри класса. Да, с одной стороны он наверняка не знает это ли именно там (мы можем вернуть какой-то другой тип в геттер, это может быть логически правильно). Но если посмотреть на такие "тупые" геттеры, то как-то смотриться как нарушение инкапсуляции

Если вам настолько не важно, что пользователь может делать с содержимым класса по этим ссылкам – вероятно, стоит отказался от ключевого слова class и объявить обычную структуру с публичным полями, не переусложняя интерфейс на ровном месте: struct A { int x; int y; }; Пользователю это проще и приятнее читать

Illia Palkin
Просто по сути клиент и без ссылки уже получает ин...

каким образом? пока у клиента есть только публичные методы, он ничего не знает о деталях реализации

Ну я бы сказал, что просто нелогично и бессмысленно. Зачем тогда Setter-ы?

Illia Palkin
Просто по сути клиент и без ссылки уже получает ин...

Иметь понимание об внутреннем устройстве класса – не то же самое, что иметь понимание об внутреннем устройстве класса и полагаться на него, инкапсуляция – про второе, на мой взгляд

Illia Palkin- Автор вопроса
Anatoly Shirokov
каким образом? пока у клиента есть только публичны...

Ну в моем понимании вместо геттера есть условные одна или несколько ф-й calculateSomething() которые и делают всю работу класса. А геттеры смотрятся как расскрытие деталей реализации. Зачем клиенту знать о том что внутри ? Его же должно интересовать только результат работы. т.е. те самые calculcateSomething()

Illia Palkin
Ну в моем понимании вместо геттера есть условные о...

В таком случае клиенту не нужны эти геттеры, оставьте ему только calculcateSomething()

Illia Palkin- Автор вопроса
Illia Palkin
Ну в моем понимании вместо геттера есть условные о...

Вот я к этому веду. Вот почему для меня геттеры кажутся как расскрытие реализации. Не всегда конечно

Похожие вопросы

Обсуждают сегодня

Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
27
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
анрей С какой целью зашёл?
КТ315
42
Кто нибудь из участников чата пишет на ассемблере под GNU/Linux?
Spiker01
24
я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
17
Всем привет ребят! Мб кто-то сталкивался? adminСomponents .get("searchСomponents", use: searchComponents) .openAPI( summary: ...
Admin Adminov
2
Кстати вопрос. Проанализировав свои проекты я понял, что в наиболее ценных из них Асм использовался для организации real-time процессов (внутри DOS). А какие есть способы сего...
Alexander Morozov
18
Я не очень много работал с потоками, тут возник вопрос - если будет одновременный доступ к памяти из двух разных потоков, это само по себе приведет к ошибке?
The Bird of Hermes
25
Насколько моя реализация Exercise 1 плохая? data MessageType = Info | Warning | Error Int deriving (Show, Eq) type TimeStamp = Int data LogMessage = LogMessage ...
= ?
6
а вот интересный вопрос появляется: допустим у нас есть приложение с системой модулей. Будет ли считаться система модуль+прога ассемблерной программой если: а) Прога на Си, м...
Mixail Frolov
29
Карта сайта