[Exercise in class] - OOP- Капсулация и полиморфизъм - Battleships
Стигнах до тук и не мога да продължа. Моля за малко помощ. А и също така се чудя дали няма да е добре като се правят тези упражнения в час да се пускат някакви нулеви тестове за хората които са онлайн, или пък да се отделя малко време от лекцията за да се обясняват задачите и техните решения?
Благодаря предварително
Погледнах ти решението и ми се струва че доста си го изрязала.
Имам въпрос защо в Engine цикъла свършва до 11 а и ми се струва че в Engine липсват неща тоест не виждам стъпка 4, 5, 6 от условието в твоето решение.
Привет,
В цикъла съм сложила 11 само за тест и съм забравила да го върна на 5.
Що се отнася до стъпка 4: затрила съм проверката if (!attacker.IsBattleship), но я оправих сега и я има в кода.
Стъпка 5: Методът Attack е в абстрактният клас - родител BattleShip и е override в наследниците, като всеки от тях изкарва различно съобщение в зависимост от това какъв тип боен кораб е.
Стъпка 6: Обектът attacker е от клас Ship и за да може да се достъпи метода Attack е кастнат към IAttack, както е указано в заданието. Това е в края на Engine кода:
var attack = (IAttack)attacker ;
return attack.Attack(defender);
което е равносилно на return ((IAttack)attacker).Attack(defender);
Дано съм успяла да ти обесня разбираемо и да съм го написала правилно, разбира се :)
Поздрави.
Супер сега ми стана ясно. Супер си Галя, благодаря ти за помощта