[C#] Вопрос из теста
От: XJess  
Дата: 03.10.10 01:16
Оценка:
Есть вот такой вот вопрос из теста.

Какие ошибки допущены в классе? (2 верных варианта)

private class Money
{
 public virtual abstract void Transfer();
 public abstract Money Exchange(); 
 public abstract decimal Value
 {
  get;
  set;
 } 
}


1. Нельзя использовать private для классов
2. Свойство Value не может быть помечено abstract
3. В объявлении класса пропущено ключевое слово abstract
4. Метод Transfer() не может быть одновременно помечен как виртуальный и абстрактный

Что-то у меня получается 3 правильных — 1, 3, 4. Видимо, это ошибка в тесте или я чего-то не понимаю?
Re: [C#] Вопрос из теста
От: adontz Грузия http://adontz.wordpress.com/
Дата: 03.10.10 01:17
Оценка:
Здравствуйте, XJess, Вы писали:

XJ>Что-то у меня получается 3 правильных — 1, 3, 4. Видимо, это ошибка в тесте или я чего-то не понимаю?


№3 — не ошибка компиляции.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: [C#] Вопрос из теста
От: Jolly Roger  
Дата: 03.10.10 01:38
Оценка: 1 (1) +3
Здравствуйте, XJess, Вы писали:

XJ>1. Нельзя использовать private для классов

XJ>2. Свойство Value не может быть помечено abstract
XJ>3. В объявлении класса пропущено ключевое слово abstract
XJ>4. Метод Transfer() не может быть одновременно помечен как виртуальный и абстрактный

XJ>Что-то у меня получается 3 правильных — 1, 3, 4. Видимо, это ошибка в тесте или я чего-то не понимаю?


Первое справедливо для членов пространства имён. Если класс объявлен внутри другого, то private для него допустимо. Поэтому — 3 и 4.
"Нормальные герои всегда идут в обход!"
Re[2]: [C#] Вопрос из теста
От: XJess  
Дата: 03.10.10 15:01
Оценка: :)
Здравствуйте, Jolly Roger, Вы писали:

XJ>>Что-то у меня получается 3 правильных — 1, 3, 4. Видимо, это ошибка в тесте или я чего-то не понимаю?


JR>Первое справедливо для членов пространства имён. Если класс объявлен внутри другого, то private для него допустимо. Поэтому — 3 и 4.


Короче, вопрос все равно не до конца корректный — ведь не сказано, куда этот класс помещен...
Re[3]: [C#] Вопрос из теста
От: invisibleshadow Россия  
Дата: 03.10.10 16:40
Оценка:
Здравствуйте, XJess, Вы писали:

XJ>Здравствуйте, Jolly Roger, Вы писали:


XJ>>>Что-то у меня получается 3 правильных — 1, 3, 4. Видимо, это ошибка в тесте или я чего-то не понимаю?


JR>>Первое справедливо для членов пространства имён. Если класс объявлен внутри другого, то private для него допустимо. Поэтому — 3 и 4.


XJ>Короче, вопрос все равно не до конца корректный — ведь не сказано, куда этот класс помещен...

какая разница куда помещен?
1. private для классов писать можно. т.к. определение класс может быть помещено внутри другого класса
2. свойства могут быть помечены как абстрактные и определяться в потомках
3. если класс содержит объявление абстрактных методов, то он должен быть помечен как абстрактный
4. виртуальный метод — содержит тело и может быть переопределен потомками. абстрактный же, тела не содержит и обязан быть определен потомком.

так что — 3 и 4.
Re[3]: [C#] Вопрос из теста
От: matumba  
Дата: 04.10.10 07:36
Оценка: +1 :))) :)))
Здравствуйте, XJess, Вы писали:

XJ>Короче, вопрос все равно не до конца корректный — ведь не сказано, куда этот класс помещен...


Ну как не сказано? Судя по вопросу, этот класс помещён в индусячий код, а вас готовят разгребать эту вермишель.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.