predatory_birds.cs 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace praktika_nasledovanie
  7. {
  8. interface birds
  9. {
  10. //метод, принимающий в себя значение массы птицы
  11. void massa(int znachenie);
  12. //метод, рассчитывающий, сколько грамм корма необходимо птице в зависимости от ее веса
  13. int raschet_korma();
  14. void otryad(string vvedennii_otryad);
  15. }
  16. class predatory_birds: birds
  17. {
  18. //поле, хранящее в себе значение массы птицы
  19. public int bird_mass;
  20. string[] otryadi = { "ястребиные", "скопиные", "соколиные", "секретари", "грифы" };
  21. //переопределенный метод, присваивающий введенное пользователем значение массы птицы соответствующему полю
  22. public void massa(int znachenie)
  23. {
  24. bird_mass = znachenie;
  25. }
  26. //переопределенный метод, который в соответствии с некоторым условием возвращает необходимую граммовку корма
  27. public int raschet_korma()
  28. {
  29. if (bird_mass >= 100 && bird_mass < 200) return (bird_mass / 100 * 20);
  30. else if (bird_mass >= 200 && bird_mass < 800) return (bird_mass / 100 * 15);
  31. else if (bird_mass >= 800 && bird_mass < 7000) return (bird_mass / 100 * 10);
  32. else return (int)(bird_mass / 100 * 3.5);
  33. }
  34. //переопределенный метод, определяющий, являются ли введенные отряды птиц хищными
  35. public void otryad(string vvedennii_otryad)
  36. {
  37. if (Array.IndexOf(otryadi, vvedennii_otryad) >= 0) vvedennii_otryad = "Птицы в данном отряде являются хищными";
  38. else vvedennii_otryad = "Возможно, у введенного отряда птиц другой рацион питания";
  39. Console.WriteLine(vvedennii_otryad);
  40. }
  41. }
  42. class penguin: predatory_birds
  43. {
  44. string is_penguin;
  45. //замещенный метод, который в более понятной форме представляет информацию о том, сколько корма нужно птице
  46. new public string raschet_korma()
  47. {
  48. if (bird_mass >= 100 && bird_mass < 200) return "Ему необходимо " + (bird_mass / 100 * 20).ToString() + "г корма в день";
  49. else if (bird_mass >= 200 && bird_mass < 800) return "Ему необходимо " + (bird_mass / 100 * 15).ToString() + "г корма в день";
  50. else if (bird_mass >= 800 && bird_mass < 7000) return "Ему необходимо " + (bird_mass / 100 * 10).ToString() + "г корма в день";
  51. else return "Ему необходимо " + (bird_mass / 100 * 3.5).ToString() + "г корма в день";
  52. }
  53. //уникальный метод, выводящий в консоль звуки, издаваемые введенным пользователем существом
  54. public void speak(string znach)
  55. {
  56. is_penguin = znach;
  57. if (is_penguin == "пингвин") Console.WriteLine("Ее звуки: " + "хррр" + "-aу-ау-ау-" + "треск-треск");
  58. else Console.WriteLine("Неизвестная птица, издаваемые ей звуки не зафиксированы");
  59. }
  60. }
  61. }