Parents.cs 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ControlSharp2
  7. {
  8. /// <summary>
  9. /// Базовый класс Родители
  10. /// </summary>
  11. public class Parents : Family
  12. {
  13. protected int year = 2024; //Текущий год
  14. private int birthYear; //Год рождения
  15. //ФИО
  16. protected string surname;
  17. protected string name;
  18. protected string patronymic;
  19. //Свойство для указания года рождения
  20. protected int BirthYear
  21. {
  22. get => birthYear;
  23. set
  24. {
  25. if (value > 1920 && value <= 2024)
  26. {
  27. birthYear = value;
  28. }
  29. else
  30. {
  31. Console.ForegroundColor = ConsoleColor.Red;
  32. Console.WriteLine("Вы указали неправильный год рождения!");
  33. Console.ResetColor();
  34. birthYear = 2024;
  35. }
  36. }
  37. }
  38. //Количество детей и количество родителей (в живых)
  39. protected int parents = 2; //По умолчанию 2 - (родители родителя)
  40. protected int children = 1; //По умолчанию 1 - (чтобы стать родителем нужен ребенок)
  41. //Конструктор заполняющий значение информации о родителе
  42. public Parents(int birthYear, string surname, string name, string patronymic)
  43. {
  44. BirthYear = birthYear;
  45. this.surname = surname;
  46. this.name = name;
  47. this.patronymic = patronymic;
  48. }
  49. //Чтобы определить возраст человека нужно вычесть из текущего года - год рождения
  50. public override int GetAge()
  51. {
  52. return year - birthYear;
  53. }
  54. //Фио человека состоит из 3 составляющих
  55. public override string GetFIO()
  56. {
  57. return surname + " " + name + " " + patronymic;
  58. }
  59. //Родители могут говорить
  60. public override void Speak()
  61. {
  62. Console.WriteLine("Родитель что-то говорит");
  63. }
  64. //У родителей есть дети и родители
  65. public override void GetLineage()
  66. {
  67. Console.WriteLine($"В наличии родителей: {parents}");
  68. Console.WriteLine($"В наличии детей: {children}");
  69. }
  70. //Установка значений детей и родителей
  71. public virtual void SetLineage()
  72. {
  73. Console.Write("Введите сколько у вас родителей: ");
  74. parents = Convert.ToInt32(Console.ReadLine());
  75. Console.Write("Введите сколько у вас детей: ");
  76. children = Convert.ToInt32(Console.ReadLine());
  77. }
  78. }
  79. }