Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Неправильный protected или Ваше мнение как должно быть. / 8 сообщений из 8, страница 1 из 1
27.03.2015, 22:45
    #38919663
Кафель
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильный protected или Ваше мнение как должно быть.
Учебник букварь по Java -- побратиму C# гласит
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
class A {
  protected int x;
  protected void f() {}
  protected static String name = "Ku-Ku";
}
 
class B extends A {
  public void someFunc() {
    x = 10; //Доступ к защищённому члену родительского класса
    f(); 
    A ref = new A();
    ref.x = 13; //В контексте дочернего класса отношение к защищённым членам как к публичным
    String bebe = A.name; //Статические переменные - не исключение
  }
}
 
class C {
  public void someFunc() {
    String mmm = A.name; //Неверный вызов. Переменная name - защищена и не видна извне (Только если класс С находится 
                         //в другом пакете. Если класс С находится в том же пакете, что и А, то будет доступна)
    A a = new A();
    int myX = a.x; //Неверный вызов. Переменная x - не видна извне (Только если класс С находится в другом пакете. Если 
                   //класс С находится в том же пакете, что и А, то будет доступна)
    a.x = 1; //Неверный вызов. Переменная x - не видна извне (Только если класс С находится в другом пакете. Если класс С 
             //находится в том же пакете, что и А, то будет доступна)}}
    a.f(); //Неверный вызов. Функция f - не видна извне (Только если класс С находится в другом пакете. Если класс С находится 
           //в том же пакете, что и А, то будет доступна)}}
  }
}



Вопрос к уважаемой аудитории: считаете ли Вы это правильным, должно ли быть такое же поведение в C#?

Просто иногда приходится переключаться между проектами, не пойму, зачем и почему так ....
...
Рейтинг: 0 / 0
27.03.2015, 23:32
    #38919679
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильный protected или Ваше мнение как должно быть.
Кафель, я плохо понял суть вопроса, но протектед и френдли - это разные вещи.
...
Рейтинг: 0 / 0
28.03.2015, 00:55
    #38919686
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильный protected или Ваше мнение как должно быть.
Ув. Кафель, Java и С#, несмотря на последствия инцеста, являются разными языками, где никто никому ничего не должен.
...
Рейтинг: 0 / 0
28.03.2015, 10:09
    #38919726
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильный protected или Ваше мнение как должно быть.
Кафель, похоже тебе нужен модификатор protected internal
...
Рейтинг: 0 / 0
28.03.2015, 20:32
    #38919970
Кафель
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильный protected или Ваше мнение как должно быть.
Мне просто интересно, что получается в Java невозможно сделать видимость только для наследников, а не для всех кто в пакете.

Слава богу что в C# не так. Не так?
...
Рейтинг: 0 / 0
28.03.2015, 20:47
    #38919988
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильный protected или Ваше мнение как должно быть.
КафельМне просто интересно, что получается в Java невозможно сделать видимость только для наследников, а не для всех кто в пакете.

Слава богу что в C# не так. Не так?

Нет, не так. С видимостью у C# нет проблем. Сборки можно делать друг другу дружественными, специального синтаксиса для такой видимости не нужно.
...
Рейтинг: 0 / 0
30.03.2015, 11:04
    #38920819
Кафель
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильный protected или Ваше мнение как должно быть.
hVosttКафельМне просто интересно, что получается в Java невозможно сделать видимость только для наследников, а не для всех кто в пакете.

Слава богу что в C# не так. Не так?

Нет, не так. С видимостью у C# нет проблем. Сборки можно делать друг другу дружественными, специального синтаксиса для такой видимости не нужно.А что значит дружественная сборка?
...
Рейтинг: 0 / 0
30.03.2015, 11:51
    #38920929
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Неправильный protected или Ваше мнение как должно быть.
КафельА что значит дружественная сборка?

Дружественные сборки (C# и Visual Basic)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Неправильный protected или Ваше мнение как должно быть. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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