1 / 1 / 2
Регистрация: 21.12.2010
Сообщений: 34
|
||||||
1 | ||||||
Полиморфизм17.04.2011, 19:41. Показов 2950. Ответов 17
Метки нет (Все метки)
Доброго времени суток. Есть задание - показать принцип полиморфизма в программе. Я написал некоторый код, однако компилятор ругается, что производные классы не реализовывают абстрактных методов базового класса.
Вот код:
Мне кажется, проблема в неправильной сигнатуре параметров метода Exam еще в абстрактном классе, но как это исправить, я пока не разобрался. Буду Вам очень признателен, если поможете решить сию проблему
0
|
17.04.2011, 19:41 | |
Ответы с готовыми решениями:
17
Полиморфизм Полиморфизм Полиморфизм Полиморфизм |
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
|
|
17.04.2011, 19:56 | 2 |
попробуйте аргументом метода принимать не тип Person, а object. при этом в классах-наследниках этот метод реализовывать таким способом чтобы в теле реализации метода было приведение аргумента от object к нужному вам типу(Teacher или же Student в зависимости от класса-наследника)
или же вам нужно именно на таком примере показать работу полиморфизма?
0
|
145 / 145 / 3
Регистрация: 25.03.2011
Сообщений: 512
|
|
17.04.2011, 19:56 | 3 |
Не по теме: Сорь, не то) У тебя кажется множественное наследование в коде, по мойму так нельзя.
0
|
1 / 1 / 2
Регистрация: 21.12.2010
Сообщений: 34
|
|
17.04.2011, 20:03 [ТС] | 4 |
wade25, Ну почему же, множественное наследование - это когда у одного класса 2 предка, а не наоборот.
Koran, спасибо, попробую
0
|
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
|
|
17.04.2011, 20:05 | 5 |
wade25, множественное наследование в C# поддерживается только в виде наследования от нескольких интерфейсов либо от класса и нескольких интерфейсов, но не от классов. множественное наследование от классов реализовано в С++ на сколько мне известно
0
|
145 / 145 / 3
Регистрация: 25.03.2011
Сообщений: 512
|
|
17.04.2011, 20:07 | 6 |
0
|
1 / 1 / 2
Регистрация: 21.12.2010
Сообщений: 34
|
||||||
17.04.2011, 20:20 [ТС] | 7 | |||||
Koran, мне нужно показать просто, что один и тот же метод в разных классах имеет разную реализацию. И кстати, прошлая ошибка исчезла, но пошаговое выполнение программы показало ошибку "Object reference not set to an instance of object" (ссылка на объект не указывает на экземпляр объекта) в методе
0
|
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
|
||||||
17.04.2011, 20:41 | 8 | |||||
это немного не полиморфизм
0
|
1 / 1 / 2
Регистрация: 21.12.2010
Сообщений: 34
|
|
17.04.2011, 20:45 [ТС] | 9 |
Идет первый раз прохождение указанной строчки кода (rand.Next())и сразу выкидывает на catch
0
|
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
|
|
17.04.2011, 20:46 | 10 |
немогли бы вы показать ещё реализацию метода мейн? тоесть сам код программы, не только классов
0
|
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
|
||||||
17.04.2011, 20:46 | 11 | |||||
Вот исправленная версия кода. На месте return'ов (строки 77 и 44) обработку ошибок вставить.
0
|
1 / 1 / 2
Регистрация: 21.12.2010
Сообщений: 34
|
||||||
17.04.2011, 20:50 [ТС] | 12 | |||||
Main
0
|
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
|
|
17.04.2011, 20:52 | 13 |
0
|
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
|
||||||
17.04.2011, 21:07 | 14 | |||||
freeba, а че мешает сделать такой массив?
или вообще массив такого типа:
0
|
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
|
|
17.04.2011, 21:17 | 15 |
Koran, Я не невозможность имел ввиду, это опасный стиль программирования. Я бы по другому пути пошел. Но в данном случае такой подход вполне оправдан.
0
|
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
|
|
17.04.2011, 21:22 | 16 |
Ниче не опасный
0
|
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
|
||||||
17.04.2011, 21:29 | 17 | |||||
freeba, в данном случае это некритично
Maxximus, вот вам полиморфизм и поедание машинами машин
0
|
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
|
|
17.04.2011, 21:48 | 18 |
0
|
17.04.2011, 21:48 | |
17.04.2011, 21:48 | |
Помогаю со студенческими работами здесь
18
Полиморфизм полиморфизм Полиморфизм Полиморфизм в массиве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |