Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Гость 2poy_nyasha

Программирование ver 4.0

Рекомендованные сообщения

/просветка

 

.

 

потому что у тебя необходимость в логике для переменной может появиться позже чем ты уже наебенишь к ней 500 обращений из самых разных кусков кода

 

так для этого и есть set и get?

 

я про них и говорю, кто тебе мешает написать их когда у тебя обращение к переменной уже разбросано по коду?

названия этих переменных?

а если тебе в итоге нужно будет по-разному обращаться изнутри класса к этой переменной (минуя гетсет) и извне (через гетсет), там уже переименование не очень-то поможет

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

ну в нормальных языках можно использовать гет и сет на уже созданную переменную

в жаваскрипте например

Поделиться сообщением


Ссылка на сообщение

ну в нормальных языках можно использовать гет и сет на уже созданную переменную

в жаваскрипте например

я вот не понял ты о нормальных языках говоришь или всё-таки о жаваскрипт?

Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

ну в нормальных языках можно использовать гет и сет на уже созданную переменную

в жаваскрипте например

я вот не понял ты о нормальных языках говоришь или всё-таки о жаваскрипт?

ХАХХАХАХАХХАХАА)))))))))))0000

Поделиться сообщением


Ссылка на сообщение

:lol:

 

что значит создать гетсет на готовую переменную?

твои обращения извне могут быть расчитаны на (ещё не имплементированую) логику гетера-сетера, а изнутри на её отсутствие

как ты их разграничивать собрался?

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

нахуя тебе изнутри логика со свободной переменной?

если ты ее ограничиваешь, то ограничивай и в логике

 

потому что иначе это будет не логика а говно ебанное

 

и ваще уверен, что ты почти никогда не используешь геттеры и сеттеры на каждую переменную

 

которая тебе нужна извне офк

Поделиться сообщением


Ссылка на сообщение

в жаваскрипте нет инкапсуляции


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

есть

 

var Rubish = (function(){
 var _hohol = true;
 return {
   getHohol : _hohol,
   setHohol : function(val) {_hohol = val;}
 }
}())

 

у жаваскрипта полноценное ООП

Поделиться сообщением


Ссылка на сообщение

блядь

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")

Поделиться сообщением


Ссылка на сообщение

у джаваскрипта неполноценная типизация

и неполноценная стандартная библиотека

и вообще много чего неполноценного

язык написанный на коленке с самого начала был набором костылей


http://ru.iccup.com/dota/details/1295953.html

 

ИДИТЕ НАХУЙ С ТАКМИ ГОНДАРАМИ

СВЕН ТП

СВЕН ПУШИТ

СВЕН ХЕКС

СВЕН ДАБЛКИЛЛ

СВЕН 7ОО КРИПОВ

Поделиться сообщением


Ссылка на сообщение

есть

 

var Rubish = (function(){
 var _hohol = true;
 return {
getHohol : _hohol,
setHohol : function(val) {_hohol = val;}
 }
}())

 

у жаваскрипта полноценное ООП

я не в курсе жс, но ты изнутри класса сможешь вообще обратиться к _hohol или только к Rubish?

Поделиться сообщением


Ссылка на сообщение

а в той же джаве думаю ты просто заебёшься менять каждый rnd.RndName на rnd.GetRndName() или rnd.SetRndName("xyu")

для этого есть IDEA и встроенные в неё рефакторинги


http://ru.iccup.com/dota/details/1295953.html

 

ИДИТЕ НАХУЙ С ТАКМИ ГОНДАРАМИ

СВЕН ТП

СВЕН ПУШИТ

СВЕН ХЕКС

СВЕН ДАБЛКИЛЛ

СВЕН 7ОО КРИПОВ

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

у джаваскрипта неполноценная типизация

и неполноценная стандартная библиотека

и вообще много чего неполноценного

язык написанный на коленке с самого начала был набором костылей

это и сделало его таким охуенным

а в той же джаве думаю ты просто заебёшься менять каждый rnd.RndName на rnd.GetRndName() или rnd.SetRndName("xyu")

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

 

хоть раз тебе это пригодилось ваще?

Поделиться сообщением


Ссылка на сообщение

ну и нахуй рефакторить, если можно банально продумать на пол шага вперёд?

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

есть

 

var Rubish = (function(){
 var _hohol = true;
 return {
getHohol : _hohol,
setHohol : function(val) {_hohol = val;}
 }
}())

 

у жаваскрипта полноценное ООП

я не в курсе жс, но ты изнутри класса сможешь вообще обратиться к _hohol или только к Rubish?

ну тут нет класса

ты используешь _hohol как обычную переменную, которая существует только внутри Rubish и не существует более нигде (то есть в глобальном скопе ее нет, как нет и Rubish._hohol)

Поделиться сообщением


Ссылка на сообщение

хоть раз тебе это пригодилось ваще?

да, я юзаю поля которые значения которых снаружи можно узнать, но нельзя установить, я юзаю сеттеры с ограничениями, чтобы снаружи в поле не ставилась хуйня и обычно в паре с геттерами, чтобы если хуйня установлена изнутри, то я не получал её наружу

Поделиться сообщением


Ссылка на сообщение

ну и нахуй рефакторить, если можно банально продумать на пол шага вперёд?

всего не предусмотришь

на самом деле в таких простых вещах можно не заморачиваться, рефакторится это за минуту

но обычно правило такое: если класс обладает логикой и хранит в себе состояние, то его филды наружу светить не следует

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


http://ru.iccup.com/dota/details/1295953.html

 

ИДИТЕ НАХУЙ С ТАКМИ ГОНДАРАМИ

СВЕН ТП

СВЕН ПУШИТ

СВЕН ХЕКС

СВЕН ДАБЛКИЛЛ

СВЕН 7ОО КРИПОВ

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

ну и нахуй рефакторить, если можно банально продумать на пол шага вперёд?

очевидно - потому что все не продумаешь

Поделиться сообщением


Ссылка на сообщение
(изменено)

ну тут нет класса

ты используешь _hohol как обычную переменную, которая существует только внутри Rubish и не существует более нигде (то есть в глобальном скопе ее нет, как нет и Rubish._hohol)

тогда пример не в тему

 

речь о полях, к которым разное, так сказать, "отношение" изнутри объекта и снаружи

пример выше в посте

 

ну и нахуй рефакторить, если можно банально продумать на пол шага вперёд?

очевидно - потому что все не продумаешь

знал бы где упаду - подстелил бы

всего продумать нельзя, но можно зактнуть гетеросетерами наиболее вероятные дырки, чтобы потом не пришлось рефакторить

потому что от того, что логики в переменной не будет ты ничего не потеряешь, если она добавится - работы по исправлениям добавится, а если оно будет лежать мёртвым грузом никого не трогая, то хуже от этого не будет, ты потеряешь целых ебать 15 секунд на написание примитивнейшего гетера-сетера


Изменено пользователем TheDeadSkin

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

.

 

рабиш спросил про инкапсуляцию, я ему ответил

 

то о чем ты спрашиваешь решается через get и set которые пока мало кто из браузеров поддерживает (все современные), так что их никто не использует

но это пока

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...