TheDeadSkin #161 14 марта 2013 /просветка . потому что у тебя необходимость в логике для переменной может появиться позже чем ты уже наебенишь к ней 500 обращений из самых разных кусков кода так для этого и есть set и get? я про них и говорю, кто тебе мешает написать их когда у тебя обращение к переменной уже разбросано по коду?названия этих переменных?а если тебе в итоге нужно будет по-разному обращаться изнутри класса к этой переменной (минуя гетсет) и извне (через гетсет), там уже переименование не очень-то поможет Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #162 14 марта 2013 ну в нормальных языках можно использовать гет и сет на уже созданную переменнуюв жаваскрипте например Поделиться сообщением Ссылка на сообщение
rubish #163 14 марта 2013 ну в нормальных языках можно использовать гет и сет на уже созданную переменнуюв жаваскрипте напримеря вот не понял ты о нормальных языках говоришь или всё-таки о жаваскрипт? Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #164 14 марта 2013 ну в нормальных языках можно использовать гет и сет на уже созданную переменнуюв жаваскрипте напримеря вот не понял ты о нормальных языках говоришь или всё-таки о жаваскрипт?ХАХХАХАХАХХАХАА)))))))))))0000 Поделиться сообщением Ссылка на сообщение
TheDeadSkin #165 14 марта 2013 что значит создать гетсет на готовую переменную?твои обращения извне могут быть расчитаны на (ещё не имплементированую) логику гетера-сетера, а изнутри на её отсутствиекак ты их разграничивать собрался? Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #166 14 марта 2013 нахуя тебе изнутри логика со свободной переменной?если ты ее ограничиваешь, то ограничивай и в логике потому что иначе это будет не логика а говно ебанное и ваще уверен, что ты почти никогда не используешь геттеры и сеттеры на каждую переменную которая тебе нужна извне офк Поделиться сообщением Ссылка на сообщение
rubish #167 14 марта 2013 в жаваскрипте нет инкапсуляции Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #168 14 марта 2013 есть var Rubish = (function(){ var _hohol = true; return { getHohol : _hohol, setHohol : function(val) {_hohol = val;} } }()) у жаваскрипта полноценное ООП Поделиться сообщением Ссылка на сообщение
TheDeadSkin #169 14 марта 2013 блядь class rndclass { private string _rndName = ""; public string RndName { get { return string.IsNullOrEmpty(_rndName) ? "No name" : "Name is: " + _rndName; } set { if (string.IsNullOrEmpty(value)) throw new ArgumentException(); _rndName = value; } } } пали приколу тебя возврат переменной наружу, как и её установка снаружи может поддаваться определённым правиламно изнутри ты с ней работаешь напрямую а сейчас прикидываем, что с самого начала когда писался этот класс этой логики просто не былои теперь расскажи как мне из public string RndName = ""; сделать код выше ^, как ты к этой строке "просто добавишь гетер сетер"если до внедрения такой логики работа изнутри и снаружи осуществлялась полностью одинаково, а после её внедрения она теперь будет отличаться да, в шарпе это мб и нахуй не нужено, потому что к инкапсулированым полям технически (с точки зрения синтактиса кода) доступ осуществляется так же как и к открытым, потому что когда ты пишешь rnd.RndName ты можешь не знать это паблик поле или гетер/сетер, поэтому переход не такой болезненный а в той же джаве думаю ты просто заебёшься менять каждый rnd.RndName на rnd.GetRndName() или rnd.SetRndName("xyu") Поделиться сообщением Ссылка на сообщение
Mr.Blonde #170 14 марта 2013 у джаваскрипта неполноценная типизацияи неполноценная стандартная библиотекаи вообще много чего неполноценногоязык написанный на коленке с самого начала был набором костылей http://ru.iccup.com/dota/details/1295953.html ИДИТЕ НАХУЙ С ТАКМИ ГОНДАРАМИ СВЕН ТП СВЕН ПУШИТ СВЕН ХЕКС СВЕН ДАБЛКИЛЛ СВЕН 7ОО КРИПОВ Поделиться сообщением Ссылка на сообщение
TheDeadSkin #171 14 марта 2013 есть var Rubish = (function(){ var _hohol = true; return { getHohol : _hohol, setHohol : function(val) {_hohol = val;} } }()) у жаваскрипта полноценное ООПя не в курсе жс, но ты изнутри класса сможешь вообще обратиться к _hohol или только к Rubish? Поделиться сообщением Ссылка на сообщение
Mr.Blonde #172 14 марта 2013 а в той же джаве думаю ты просто заебёшься менять каждый rnd.RndName на rnd.GetRndName() или rnd.SetRndName("xyu")для этого есть IDEA и встроенные в неё рефакторинги http://ru.iccup.com/dota/details/1295953.html ИДИТЕ НАХУЙ С ТАКМИ ГОНДАРАМИ СВЕН ТП СВЕН ПУШИТ СВЕН ХЕКС СВЕН ДАБЛКИЛЛ СВЕН 7ОО КРИПОВ Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #173 14 марта 2013 у джаваскрипта неполноценная типизацияи неполноценная стандартная библиотекаи вообще много чего неполноценногоязык написанный на коленке с самого начала был набором костылейэто и сделало его таким охуенныма в той же джаве думаю ты просто заебёшься менять каждый rnd.RndName на rnd.GetRndName() или rnd.SetRndName("xyu")если ты сначала думаешь а потом пишешь, то тебе не придется заниматься такой хуйней хоть раз тебе это пригодилось ваще? Поделиться сообщением Ссылка на сообщение
TheDeadSkin #174 14 марта 2013 ну и нахуй рефакторить, если можно банально продумать на пол шага вперёд? Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #175 14 марта 2013 есть var Rubish = (function(){ var _hohol = true; return { getHohol : _hohol, setHohol : function(val) {_hohol = val;} } }()) у жаваскрипта полноценное ООПя не в курсе жс, но ты изнутри класса сможешь вообще обратиться к _hohol или только к Rubish?ну тут нет классаты используешь _hohol как обычную переменную, которая существует только внутри Rubish и не существует более нигде (то есть в глобальном скопе ее нет, как нет и Rubish._hohol) Поделиться сообщением Ссылка на сообщение
TheDeadSkin #176 14 марта 2013 хоть раз тебе это пригодилось ваще?да, я юзаю поля которые значения которых снаружи можно узнать, но нельзя установить, я юзаю сеттеры с ограничениями, чтобы снаружи в поле не ставилась хуйня и обычно в паре с геттерами, чтобы если хуйня установлена изнутри, то я не получал её наружу Поделиться сообщением Ссылка на сообщение
Mr.Blonde #177 14 марта 2013 ну и нахуй рефакторить, если можно банально продумать на пол шага вперёд?всего не предусмотришьна самом деле в таких простых вещах можно не заморачиваться, рефакторится это за минутуно обычно правило такое: если класс обладает логикой и хранит в себе состояние, то его филды наружу светить не следуета если класс используется только как набор данных, то почему бы и нет http://ru.iccup.com/dota/details/1295953.html ИДИТЕ НАХУЙ С ТАКМИ ГОНДАРАМИ СВЕН ТП СВЕН ПУШИТ СВЕН ХЕКС СВЕН ДАБЛКИЛЛ СВЕН 7ОО КРИПОВ Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #178 14 марта 2013 ну и нахуй рефакторить, если можно банально продумать на пол шага вперёд?очевидно - потому что все не продумаешь Поделиться сообщением Ссылка на сообщение
TheDeadSkin #179 14 марта 2013 (изменено) ну тут нет классаты используешь _hohol как обычную переменную, которая существует только внутри Rubish и не существует более нигде (то есть в глобальном скопе ее нет, как нет и Rubish._hohol)тогда пример не в тему речь о полях, к которым разное, так сказать, "отношение" изнутри объекта и снаружипример выше в посте ну и нахуй рефакторить, если можно банально продумать на пол шага вперёд?очевидно - потому что все не продумаешьзнал бы где упаду - подстелил бывсего продумать нельзя, но можно зактнуть гетеросетерами наиболее вероятные дырки, чтобы потом не пришлось рефакторитьпотому что от того, что логики в переменной не будет ты ничего не потеряешь, если она добавится - работы по исправлениям добавится, а если оно будет лежать мёртвым грузом никого не трогая, то хуже от этого не будет, ты потеряешь целых ебать 15 секунд на написание примитивнейшего гетера-сетера Изменено 14 марта 2013 пользователем TheDeadSkin Поделиться сообщением Ссылка на сообщение
Гость 2poy_nyasha #180 14 марта 2013 . рабиш спросил про инкапсуляцию, я ему ответил то о чем ты спрашиваешь решается через get и set которые пока мало кто из браузеров поддерживает (все современные), так что их никто не используетно это пока Поделиться сообщением Ссылка на сообщение