Шаблонный метод С# - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день, у меня есть абстрактный класс BaseGame, он имеет базовую реализацию некоторого метода, который необходимо использовать в классах наследниках в неизменном виде(паттерн шаблонный метод). Но например если я хочу расширить функциональность классов наследников, то мне стоит добавлять эту функциональность через новый интерфейс IPremiumGame? Но вроде бы то получится уже не будет шаблонным методом. Можно ли так поступать?
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication22
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. BaseGame BG = new SlowGame();
  13. BG.StartGame();
  14. BG = new MediuGame();
  15. BG.StartGame();
  16. QuickGame BG1 = new QuickGame();
  17. BG1.StartGame();
  18. BG1.PremiumStartGame();
  19. }
  20. }
  21. public interface IGame
  22. {
  23. void StartGame();
  24. }
  25. public interface IPremiumGame
  26. {
  27. void PremiumStartGame();
  28. }
  29. public abstract class BaseGame : IGame
  30. {
  31. public virtual void StartGame()
  32. {
  33. Console.WriteLine("Start Game");
  34. }
  35. }
  36. public class QuickGame : BaseGame,IPremiumGame
  37. {
  38. public override void StartGame()
  39. {
  40. base.StartGame();
  41. Console.WriteLine("Quick Game");
  42. }
  43. public void PremiumStartGame()
  44. {
  45. Console.WriteLine("Premium Game");
  46. }
  47. }
  48. public class SlowGame : BaseGame
  49. {
  50. public override void StartGame()
  51. {
  52. base.StartGame();
  53. Console.WriteLine("Slow Game");
  54. }
  55. }
  56. public class MediuGame : BaseGame
  57. {
  58. public override void StartGame()
  59. {
  60. base.StartGame();
  61. Console.WriteLine("Medium Game");
  62. }
  63. }
  64. }

Решение задачи: «Шаблонный метод С#»

textual
Листинг программы
  1. public class QuickGame : BaseGame,IPremiumGame

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы