LINUX.ORG.RU

OOP и common sense

 ,


1

2

Сидел недавно, писал код на яве и подумал... вот есть у меня тип (класс), а в классе штук 10 членов-переменных. И ничего вроде бы больше нету, так как это на самом деле тип, а не объект. Ну тоесть как нету, есть еще 10 геттеров и 10 сеттеров к этим 10 членам-переменным. Так я привык делать и пишу так уже лет 10. Раньше как-то все равно было, ну будет у каждой переменной свой геттер и сеттер, зато они private, инкапсуляция там, хороший дизайн и вообще красиво. А сейчас стало тревожить непокидающее чувство идиотизма происходящего. Мало того, что куча глупого кода, так мне еще повсюду приходится дергать эти геттеры/сеттеры, а я ведь еще их getBlabla/setBlabla называю. Не проще ли сделать эти 10 переменных public и пользоваться вот так сразу. Инкапсуляция сломается, да и я буду знать, что каку сделал, спать буду плохо. Совесть не разрешает. Такой вот common sense.

Всякие там сисярпы изобрели такую штуку как property, которой аксессоры не нужны. Но мне они кажутся противными и неспроста.

★★★★
Ответ на: комментарий от Joe_Bishop

С математической точки зрения

терминология КОП оказывается не самым лучшим практическим решением

усиливает ментальную нагрузку

Признайтесь, вы сегодня выпивали? Вы что сказать-то хотите? xD

znenyegvkby
()
Ответ на: комментарий от znenyegvkby

Назовите конкретный случай, а я попробую найти решение xD

мне за каждым случаем сюда ходить что ли?

нужен дженерик.

Rastafarra ★★★★
()
Ответ на: комментарий от Rastafarra

мне за каждым случаем сюда ходить что ли?

Как хочешь, можно подумать тебя кто-то заставляет? xD

нужен дженерик.

И как это, [censored], можно понять? На вопрос

Зачем получать стек _при обращении к переменной_?

ты отвечаешь «нужен дженерик». Прости, что? Ну и еще раз. Что тебе мешает получить этот несчастный стек после обращения? Ты делаешь упор только на то, что его можно будет захватить в самом аксессоре, я тебя правильно понял? Ну и один фиг – это будет фрейм. А теперь адекватно объясни мне – конкретно какие преимущества ты получишь в этой ситуации?!

znenyegvkby
()
Ответ на: комментарий от Rastafarra

когда после-то? завтра что ли? :)

Родина им дала звёздочки — носи! Носи звёздочки, [censored]! Не хочу, хочу шланговать!

znenyegvkby
()

вот что мне запомнилось в рубях, так это то, что синтаксис сеттера и простого присваивания одинаков, соответственно минимум шаблонного кода. Хотеть так везде!

Debasher ★★★★★
()

нет, все таки, я думаю, что неспроста в яве нет пропертей

unt1tled ★★★★
() автор топика

IDE тебе вообще на что? Кто геттеры-сеттеры ручонками-то вставляет?

anonymous
()

Не проще ли сделать эти 10 переменных public и пользоваться вот так сразу.

Код, написанный на Python, работает, значит так можно.

templarrr ★★★★★
()
Ответ на: комментарий от templarrr

Код на Фортране с goto и глобальными переменными тоже «работает». И даже борщевая функциональщина местами «работает», факториалы считает. Но это не значит что так делать не западло.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.