Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
5 / 5 / 1
Регистрация: 05.11.2013
Сообщений: 54

Построить описание класса, хранящего информацию о человеке

21.12.2013, 23:19. Показов 2061. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Помогите, пожалуйста, построить описание класса, содержащего информацию о человеке. Необходимо так же использовать подклассы, один конструктор и деструктор.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.12.2013, 23:19
Ответы с готовыми решениями:

Построить описание класса, содержащего информацию о почтовом адресе организации
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность проверки вводимых значений, в...

Построить описание класса, содержащего информацию о почтовом адресе организации
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения составных...

Класс: построить описание класса, содержащего информацию о почтовом адресе организации.
Помогите пожалуйста, новичок в Си#:(замучилась с этим заданием:( Нужно построить описание класса, содержащего информацию о почтовом...

2
 Аватар для 5665tm
171 / 120 / 14
Регистрация: 17.06.2013
Сообщений: 386
21.12.2013, 23:49
Цитата Сообщение от Bellamina Посмотреть сообщение
деструктор
В шарпе нет деструктора, на смену ему пришел автосборщик мусора. Есть конструкция похожая на деструктор, но не являющася по сути своей деструктором, и очень специфическая и непонятно зачем вам она нужна.
И зачем подкласы? В задании ничего не говорится о том что нужно реализовать бомжей, чиновников, детей и прочих личностей которые могли бы являться наследниками класса "человек"
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
22.12.2013, 00:37
Лучший ответ Сообщение было отмечено Bellamina как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
    public class FullName
    {
        public FullName(string firstName, string surname, string patronymic)
        {
            FirstName = firstName;
            Surname = surname;
            Patronymic = patronymic;
        }
 
        public FullName(string firstName, string surname)
            : this(firstName, surname, string.Empty)
        {
        }
 
        /// <summary>Имя</summary>
        public string FirstName { get; set; }
 
        /// <summary>Фамилия</summary>
        public string Surname { get; set; }
 
        /// <summary>Отчество</summary>
        public string Patronymic { get; set; }
 
        public override string ToString()
        {
            string name = string.Empty;
            if (!string.IsNullOrWhiteSpace(Surname))
            {
                name = Surname;
            }
 
            if (!string.IsNullOrWhiteSpace(FirstName))
            {
                name += name != string.Empty ? " " + FirstName : FirstName;
            }
            else if (name != string.Empty) //Чтобы не получилось: Прохоров Анатольевич (пропущено имя)
            {
                return name;
            }
 
            if (!string.IsNullOrWhiteSpace(Patronymic))
            {
                name += name != string.Empty ? " " + Patronymic : Patronymic;
            }
            return name;
        }
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    /// <summary>Местожительство</summary>
    public class Residence
    {
        public Residence(string city, string address, string region, string zipCode, string country)
        {
            City = city;
            Address = address;
            Region = region;
            ZipCode = zipCode;
            Country = country;
        }
 
        public Residence()
            :this(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty)
        {
        }
 
        /// <summary>Город</summary>
        public string City { get; set; }
 
        /// <summary>Домашний адрес (улица, дом, корпус, квартира)</summary>
        public string Address { get; set; }
 
        /// <summary>Область</summary>
        public string Region { get; set; }
 
        /// <summary>Индекс или ZipCode</summary>
        public string ZipCode { get; set; }
 
        /// <summary>Страна</summary>
        public string Country { get; set; }
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
    [Serializable]
    public class Person
    {
        short _age;
        Date _birthDay;
 
        public Person(Date birthDay, FullName fullName, Residence residence)
        {
            _birthDay = birthDay;
            _age = short.MinValue;
            Name = fullName;
            Residence = residence;
        }
 
        public Person(Date birthDay, string firstName, string secondName, string patronymic)
            : this(birthDay, new FullName(firstName, secondName, patronymic), new Residence())
        {
        }
 
        public Person(Date birthDay, string firstName, string secondName)
            : this(birthDay, firstName, secondName, string.Empty)
        {
        }
 
        /// <summary>Полное имя</summary>
        public FullName Name { get; set; }
 
        /// <summary>Местожительства (полный адрес)</summary>
        public Residence Residence { get; set; }
 
        /// <summary>Дата рождения</summary>
        public Date BirthDay
        {
            get { return _birthDay; }
            set
            {
                _birthDay = value;
                _age = short.MinValue; /*Чтобы возраст пересчитался (не уверен будет ли как надо работать, надо тестировать)*/
            }
        }
 
        /// <summary>Возраст</summary>
        public short Age
        {
            get
            {
                if (_age == short.MinValue)
                {
                    DateTime dateNow = DateTime.Now;
                    int age = dateNow.Year - BirthDay.Year;
                    if (dateNow.Month < BirthDay.Month || (dateNow.Month == BirthDay.Month && dateNow.Day < BirthDay.Day))
                        --age;
                    _age = (short)age;
                }
                return _age;
            }
        }
    }
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2013, 00:37
Помогаю со студенческими работами здесь

Построить описание класса, содержащего информацию об оргтехнике
Построить описание класса, содержащего информацию об оргтехнике. Предусмотреть возможность раздельного изменения составных частей адреса,...

Построить описание класса, содержащего информацию об учащемся колледжа
Построить описание класса, содержащего информацию об учащемся колледжа. Предусмотреть возможность раздельного изменения составных частей...

Построить описание класса, содержащего информацию о почтовом адресе организации
помогите=) Построить описание класса, содержащего информацию о почтовом адресе организации. предусмотреть возможность раздельного...

Построить описание класса, содержащего информацию о почтовом адресе организации
помогите пожалуйста решить задачу на классы Построить описание класса, содержащего информацию о почтовом адресе организации....

Построить описание класса, содержащего информацию о контактной информации организации
Построить описание класса, содержащего информацию о контактной информации организации (почтовый адресе, e-mail, 2 телефона). Предусмотреть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru