Задать вопрос
shatov
@shatov
1C

Как решить данную задачу корректно?

Решил задачу. Всё работает. Но преподаватель указал некоторые ошибки. Вот условие задачи:

Написать класс User, описывающий человека (Фамилия, Имя, Отчество, Дата рождения, Возраст). Написать программу, демонстрирующую использование этого класса.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Incap3
{
    class Program
    {
        static void Main(string[] args)
        {
            var user = new User();
            Console.WriteLine("Введите возраст: ");
            user.Age = int.Parse(Console.ReadLine());
            Console.Clear();
            Console.WriteLine("Фамилия: " + user.GetSurname);
            Console.WriteLine("Имя: " + user.GetName);
            Console.WriteLine("Отчество: " + user.GetPatronymic);
            Console.WriteLine("Дата рождения: " + user.GetBirthday.ToString("13/01/1996"));
            Console.WriteLine("Возраст: " + user.GetAge);
        }

        public class User
        {
            private string Name = "Альберт", Surname = "Рагимов", Patronymic = "Акимович";
            internal int Age;
            private DateTime Birthday;

            public string GetName
            {
                get
                {
                     return Name;
                }
            }
            public string GetSurname
            {
                get
                {
                    return Surname;
                }
            }
            public string GetPatronymic
            {
                get
                {
                    return Patronymic;
                }
            }
            public int GetAge
            {
                get
                {
                    return Age;
                }
            }

            public DateTime GetBirthday
            {
                get
                {
                    return Birthday;
                }
            }
          }
    }
}
  • Вопрос задан
  • 3363 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@brutal_lobster
1. При создании юзера неплохо было бы указывать его имя и дату рождения
2. Возраст не является его свойством и зависит от конкретной даты
3. У юзера может меняться имя
4. Зачем там internal ?
5. Сериализация
6. Форматирование
Ответ написан
sidristij
@sidristij
int.Parse(Console.ReadLine());
юыло бы правильно использовать TryParse и если вернет false, переспросить ввод
Ответ написан
Комментировать
@kirahvi
Вы используете Property только наполовину и присваиваете новые значения напрямую полю
обычно делают так:
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}

про передачу ФИО и ДР в конструкторе Вам уже сказали
Вы сказали, что преподаватель указал на ошибки, а какие именно ошибки?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы