using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MyConsoleApplication { // Класс <Физическое лицо>, базовый класс ==================================================== public class ФизическоеЛицо { protected string полеФИО; protected string полеПаспортныеДанные; protected string полеАдрес; protected string полеДатаРождения; protected string полеИНН; // Конструктор по умолчанию public ФизическоеЛицо() { полеФИО = "Неопределенное физическое лицо"; } // Конструктор (все параметры) public ФизическоеЛицо(string ФИО, string ПаспортныеДанные, string Адрес, string ДатаРождения, string ИНН) { полеФИО = ФИО; полеПаспортныеДанные = ПаспортныеДанные; полеАдрес = Адрес; полеДатаРождения = ДатаРождения; полеИНН = ИНН; } // Методы // вывод информации об физическом лице virtual public void НапечататьИнформацию() { Console.WriteLine("ФИО: " + полеФИО); Console.WriteLine("Паспортные данные: " + полеПаспортныеДанные); Console.WriteLine("Адрес: " + полеАдрес); Console.WriteLine("Дата рождения: " + полеДатаРождения); Console.WriteLine("ИНН: " + полеИНН); } virtual public void ИндексироватьОклад(double Индекс) { } virtual public void УменьшитьДолг(double Сумма) { } // <Работник> ============================================================================ public class Работник : ФизическоеЛицо { private string полеДолжность; private double полеОклад; // Конструктор () public Работник(string ФИО, string ПаспортныеДанные, string Адрес, string ДатаРождения, string ИНН, string Должность, double Оклад) : base(ФИО, ПаспортныеДанные, Адрес, ДатаРождения, ИНН) { полеДолжность = Должность; полеОклад = Оклад; } //Методы override public void НапечататьИнформацию() { base.НапечататьИнформацию(); Console.WriteLine("Должность: " + полеДолжность); Console.WriteLine("Оклад: " + полеОклад); Console.WriteLine("-----------------------------------------"); } override public void ИндексироватьОклад(double Индекс) { полеОклад = полеОклад * Индекс; } } // <Предприниматель> ============================================================================ public class Предприниматель : ФизическоеЛицо { private string полеОГРН; private double полеДолг; // Конструктор (не существующий в базе автомобиль) public Предприниматель(string ФИО, string ПаспортныеДанные, string Адрес, string ДатаРождения, string ИНН, string ОГРН, double Долг) : base(ФИО, ПаспортныеДанные, Адрес, ДатаРождения, ИНН) { полеОГРН = ОГРН; полеДолг = Долг; } override public void НапечататьИнформацию() { base.НапечататьИнформацию(); Console.WriteLine("ОГРН: " + полеОГРН); Console.WriteLine("Долг: " + полеДолг); Console.WriteLine("-----------------------------------------"); } override public void УменьшитьДолг(double Сумма) { полеДолг = полеДолг - Сумма; } } //============================================================================================================================================ class Program { static void Main(string[] args) { ФизическоеЛицо[] Гражданин = new ФизическоеЛицо[5]; Гражданин[0] = new Работник("Иванов И.И.", "1258154, выдан Ленинским ОВД г.Владимира, 25.10.1099", "600026, г.Владимир, ул.Лесная, д1, кв 12", "12/12/1985", "33278888888", "Директор", 50000); Гражданин[1] = new Работник("Петров И.И.", "1258144, выдан Ленинским ОВД г.Владимира, 25.10.1099", "600026, г.Владимир, ул.Лесная, д1, кв 13", "15/12/1985", "33278888888", "Инженер", 25000); Гражданин[2] = new Работник("Сидоров И.И.", "1258104, выдан Ленинским ОВД г.Владимира, 25.10.1099", "600026, г.Владимир, ул.Лесная, д1, кв 14", "17/12/1985", "33278888888", "Плотник", 20000); Гражданин[3] = new Предприниматель("Петрова И.И.", "3358144, выдан Ленинским ОВД г.Владимира, 25.10.1099", "600026, г.Владимир, ул.Лесная, д1, кв 13", "15/12/1985", "33278888888", "338788", 45895); Гражданин[4] = new Предприниматель("Сидорова И.И.", "1358304, выдан Ленинским ОВД г.Владимира, 25.10.1099", "600026, г.Владимир, ул.Лесная, д1, кв 14", "17/12/1985", "33278888888", "338796", 24892); foreach (ФизическоеЛицо elem in Гражданин) elem.НапечататьИнформацию(); Console.ReadKey(); Гражданин[0].ИндексироватьОклад(1.5); Гражданин[2].ИндексироватьОклад(1.5); Гражданин[4].УменьшитьДолг(15800); foreach (ФизическоеЛицо elem in Гражданин) elem.НапечататьИнформацию(); Console.WriteLine("Для окончания работы нажмите любую клавишу"); Console.ReadKey(); } } } }