Class.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace NaslSKakunov
  7. {
  8. interface Plants
  9. {
  10. void inputInfo();
  11. string outputInfo();
  12. void suitability();
  13. }
  14. internal class Flowers : Plants //Цветы
  15. {
  16. protected string type;
  17. //ввод информации
  18. public void inputInfo()
  19. {
  20. Console.Write("Вид: ");
  21. type = Console.ReadLine();
  22. }
  23. //вывод информации
  24. public virtual string outputInfo()
  25. {
  26. return "Вид растения: " + type;
  27. }
  28. //пригодность цветка к росту
  29. public void suitability()
  30. {
  31. Console.WriteLine("Цветок засох?");
  32. string b = Console.ReadLine().ToLower(); //ввод и приведение к одному регистру
  33. if (b == "да" || b == "yes" || b == "true") // сравнение с возможными вариантами
  34. {
  35. Console.WriteLine("Цветок не растет"); // итог
  36. }
  37. else
  38. {
  39. Console.WriteLine("Цветок растет"); // итог
  40. }
  41. }
  42. }
  43. internal class IndoorFlowers : Flowers
  44. {
  45. string name; //Название цветка
  46. //переопределение метода ввод информации
  47. new public void inputInfo()
  48. {
  49. base.type = "Комнатный цветок"; //передаем определенное значение
  50. Console.Write("Цвет: ");
  51. name = Console.ReadLine();
  52. }
  53. //замещение метода вывод информации
  54. public override string outputInfo()
  55. {
  56. return base.outputInfo() + "\nЦвет: " + name;
  57. }
  58. }
  59. }