powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Насчёт областей доступа - кто-нибудь знал об этом?
25 сообщений из 89, страница 2 из 4
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108499
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КSmith27Можно джуниорам такие вопросы задавать на собеседованиях. ))Такие вопросы на собеседованиях задавать не надо. Это вопрос, скорее, для передачи "Что. Где. Когда."Почему не надо? Судя по автору такой вопрос поможет выяснить на каком уровне у соискателя логика. :)
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108500
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smith27Чел со многими тысячами очков репутации, пишет, что "он думает""Не сотвори себе кумира" (ц)

:-)
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108501
Smith27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КSmith27И вообще, насколько я знаю, на собеседованиях именно подобные вопросы и любят задавать новичкам - выдают список задачек, где сплошь именно такие случаи.Ну мы ведь не обязаны соглашаться с устроителями этих собеседований. У нас есть собственное мнение, не так ли? :-)
Вот это ваше, и вот это моё:

Smith27Я в такие ловушки не только в программировании попадал. Все эти формальные логики, созданные человеком, всегда внутренне где-то противоречивы и "читерят".
Говорит о том, что надо тупо запомнить спецификацию от корки до корки, плюс ещё в несколько раз бОльший объём знаний - то, чего в спецификации явно не указано, но что заложено в логику компилятора.

Интересно, компилятор C# открыт? Ведь именно в нём находится НАСТОЯЩАЯ спецификация, а то, что текстом выкладывают - всего лишь приближение к ней.

Кстати, ошибки в спецификациях уже не раз находили, так что, так что...
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108502
Smith27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Такие вопросы на собеседованиях задавать не надо. Это вопрос, скорее, для передачи "Что. Где. Когда."Почему не надо? Судя по автору такой вопрос поможет выяснить на каком уровне у соискателя логика. :)
Ну я понимаю, что вы хотите меня унизить. Да я и не спорю - логика у меня не на высоте. У меня и IQ где-то около 80-90 - по нынешним меркам, где-то на уровне подростка.

Я только хочу сказать, что неплохо было бы уточнять в спецификациях то, что заложено в компиляторах.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108503
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Такие вопросы на собеседованиях задавать не надо. Это вопрос, скорее, для передачи "Что. Где. Когда."Почему не надо? Судя по автору такой вопрос поможет выяснить на каком уровне у соискателя логика. :)Ну может быть, главное не зацикливаться на подобного рода краевых эффектах. :-)
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108504
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smith27Нет, ну вот смотрите

http://stackoverflow.com/a/6983855

Чел со многими тысячами очков репутации, пишет, что "он думает" - "I think one reason it works this way is because access modifiers work at compile time". Т. е. докагаться догически до этой штуки трудно - логически как раз вытекает, что доступ должен быть ограничен и на уровне экземпляров. Т. е. надо, чтоб прямо сказали на такое свойство, а начнёшь логически думать - попадёшь в ловушку.

Я в такие ловушки не только в программировании попадал. Все эти формальные логики, созданные человеком, всегда внутренне где-то противоречивы и "читерят".Это у Вас психотип такой. Сомневаетесь, не уверены, все подвергаете сомнению и скептике, путаетесь в рассуждениях.

Вам надо какое-то количество времени, чтобы поразмышлять спокойно над проблемой.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108507
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smith27skyANAпропущено...
Почему не надо? Судя по автору такой вопрос поможет выяснить на каком уровне у соискателя логика. :)
Ну я понимаю, что вы хотите меня унизить. Да я и не спорю - логика у меня не на высоте. У меня и IQ где-то около 80-90 - по нынешним меркам, где-то на уровне подростка.

Я только хочу сказать, что неплохо было бы уточнять в спецификациях то, что заложено в компиляторах.Нет, не хочу унизить.

Люди действительно делятся по психотипам, но это не значит, что они делятся на "хороших" и "плохих".
А на разных. Со своими подходами к решению задач, исследованию проблем.

Такие как Вы кстати хорошо себя проявляют в науке.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108508
Smith27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КSmith27А ты, наверное, очень часто с этим встречаешься?Нет, но я знаю, что в документации пишут по этому поводу. Там ни слова про экземпляры.
авторДоступ к закрытым членам можно получить только внутри тела класса или структуры, в которой они объявлены. Вложенные типы в том же теле могут также обращаться к таким закрытым членам.
Вот здесь согласен, это я упустил.

Ладно, спишем на мои "игры разума". ))

skyANAАлексей Кпропущено...
Такие вопросы на собеседованиях задавать не надо. Это вопрос, скорее, для передачи "Что. Где. Когда."Почему не надо? Судя по автору такой вопрос поможет выяснить на каком уровне у соискателя логика. :)
А ты позадавай. Потом бы рассказал статистику - кто этого не знает. Включая тех, кто на сеньоров претендует.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108510
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smith27, такой код тоже компилироваться не должен?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class C
{
    private int V;

    private void F()
    {
         C c = this;
         c.V++;
    }
}
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108511
Smith27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Почему не надо? Судя по автору такой вопрос поможет выяснить на каком уровне у соискателя логика. :)Ну может быть, главное не зацикливаться на подобного рода краевых эффектах. :-)
Я снова не понял. Это "краевой эффект" или "очевидная вещь"?
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108512
Smith27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smith27Алексей Кпропущено...
Ну может быть, главное не зацикливаться на подобного рода краевых эффектах. :-)
Я снова не понял. Это "краевой эффект" или "очевидная вещь"?
"Я, конечно, интуитивно догадываюсь, но хотелось бы уточнить"

[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108515
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smith27skyANAпропущено...
Почему не надо? Судя по автору такой вопрос поможет выяснить на каком уровне у соискателя логика. :)
А ты позадавай. Потом бы рассказал статистику - кто этого не знает. Включая тех, кто на сеньоров претендует.Тут важно не кто знает, а кто нет, а как он будет реагировать, считает-ли логичным.

Наверняка что все, кто проектировал свою доменную модель и переопределял Equals, знают :)
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108517
Smith27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANASmith27Нет, ну вот смотрите

http://stackoverflow.com/a/6983855

Чел со многими тысячами очков репутации, пишет, что "он думает" - "I think one reason it works this way is because access modifiers work at compile time". Т. е. докагаться догически до этой штуки трудно - логически как раз вытекает, что доступ должен быть ограничен и на уровне экземпляров. Т. е. надо, чтоб прямо сказали на такое свойство, а начнёшь логически думать - попадёшь в ловушку.

Я в такие ловушки не только в программировании попадал. Все эти формальные логики, созданные человеком, всегда внутренне где-то противоречивы и "читерят".Это у Вас психотип такой. Сомневаетесь, не уверены, все подвергаете сомнению и скептике, путаетесь в рассуждениях.

Вам надо какое-то количество времени, чтобы поразмышлять спокойно над проблемой.
Я, кажется, понял - то, что привёл АлексейК, там явно написано, как оно обстоит. Но потом я слишком много читал общей информации про области доступа и начал забывать и путать частные утверждения.

По-моему, мне надо больше практики - вот этих вот ваших Equals попереопределять с закрытыми полями, по которым проверка идёт, и т. п.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108518
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю в С++ надо корни искать. ООП оттуда растет. Там работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
class Test {
	int i;
	void Go() {printf("%d\n", i);}
public:
	Test(int x) {i = x;}
	void Copy(Test x) {i = x.i; x.Go();}
};



ИМХУ не вижу ничего криминального что один объект типа имеет доступ к закрытой части другого объекта типа. Это же один и тот же тип и он знает все о своих внутренностях.

Из практических применений: конструктор копирования.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108519
Smith27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КSmith27, такой код тоже компилироваться не должен?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class C
{
    private int V;

    private void F()
    {
         C c = this;
         c.V++;
    }
}


Хороший вопрос для собеседования!

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

...ваш код

C c = this;
c.V++;

эквивалентен этому

this.V++;

Тогда должен скомпилироваться даже по моей прежней логике.

Но дело в том, что в нашем случае this и c указывают на одну и ту же область памяти, а когда вы создаёте новый экземпляр, пусть и этого же типа, то на разные области памяти.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108521
Smith27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANASmith27пропущено...

А ты позадавай. Потом бы рассказал статистику - кто этого не знает. Включая тех, кто на сеньоров претендует.Тут важно не кто знает, а кто нет, а как он будет реагировать, считает-ли логичным.

Наверняка что все, кто проектировал свою доменную модель и переопределял Equals, знают :)
Ну да, ещё интересно, как будет реагировать - сразу напишет ответ, или задумается. Если задумается - значит, сомневается и мало такого писал-встречал.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108524
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smith27Интересно, компилятор C# открыт? Ведь именно в нём находится НАСТОЯЩАЯ спецификация, а то, что текстом выкладывают - всего лишь приближение к ней.
Открыт
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108526
Smith27
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, спасибо, что поучавствовали в моих играх разума. Одному бы мне пришлось много пить или долго спать.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108534
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smith27
Для меня, например, неочевидно было, что корова, чтобы давать молоко, должна быть всегда беременна или находиться на этапе кормления телёнка. В детстве всегда пил молоко парное. Сам, естественно, не доил. Знал только, что оно из вымени берётся, но как оно там оказывается и при каких условиях - не знал. Почему-то казалось, что корова ВСЕГДА должна давать молоко, и без всяких беременностей - уж такое она животное. Несмотря на все оговорки, что она млекопитающее, и аналогии с женщинами. )))


У нас в деревне случай был, родила одна женщина и у нее молоко пропало, что в общем то не редкость. Но молоко внезапно появилось у ее свекрови, уже достаточно не молодой женщины, так вот она и выкормила внука. Такие случаи относительно редки, но встречаются. Не все тут однозначно.

P. S. Если корова яловая, то ее можно продолжать доить длительное время без ущерба, только естественные сезонные колебания уровня надоя. И тут у коровы два варианта, либо она огуляется, ибо приплод большая ценность, либо под нож бойщика. Искусственное осеменение повышает шансы первого варианта.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108535
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kmawа еще в классе можно вызывать статические методы без указания имени класса
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
class C
{
   static void A();
   void a()
   {
      A();//C.A()
   }
}


Почитай про using static :)
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108537
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smith27Ведь ещё 500 лет назад, или сколько там, всем было очевидно, что земля плоская и солнце вращается вокруг неё. Потому что в большинстве повседневных случаев земля и солнце именно так себя и вели. Доказать обратное можно было лишь очень редкими специальными случаями.

На заре ислама (VII век), исламские ученые уже знали что земля имеет форму шара, ибо нужны были способы что бы масульманин, где бы он не находился, смог точно определить направление на Мекку для совершения намаза.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108553
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эратосфен померил радиус земли еще до появления мусульман с христианами.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108569
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВusing static

это из разряда как сделать код запутаней, на мой взгляд
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108579
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкто-нибудь знал об этом?все об этом знают. область видимости членов не зависит от способа создания объекта - только от вызывающего.
...
Рейтинг: 0 / 0
Насчёт областей доступа - кто-нибудь знал об этом?
    #39108599
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyавторкто-нибудь знал об этом?все об этом знают.я знал - в справочнике Албахари по С# это было написано прямым текстом.
...
Рейтинг: 0 / 0
25 сообщений из 89, страница 2 из 4
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Насчёт областей доступа - кто-нибудь знал об этом?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]