/* Для варіанту завдання створити програму, яка реалізує задану ієрархію класів. Елементами даних і методами кожного класу задатися самостійно. Продемонструвати як похідні класи використовують елементи даних базових класів. 2) службовець, персона, робочий, інженер; Person -> Employee -> Engineer \---> Servant */ /* * Created by SharpDevelop. * User: vladyslavbezruk * Date: 07.04.2022 * Time: 22:44 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; namespace task_2 { class Person { protected int age; protected string name; public Person() { age = 0; name = "None"; } public Person(int age, string name) { this.age = age; this.name = name; } public void input(bool flag = false) { if (flag == false) { Console.WriteLine("Enter info about person:"); } Console.WriteLine("age:"); age = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("name:"); name = Console.ReadLine(); if (flag == false) { Console.Write('\n'); } } public void output(bool flag = false) { if (flag == false) { Console.WriteLine("Info about person:"); } Console.WriteLine("age: {0}", age); Console.WriteLine("name: " + name); if (flag == false) { Console.Write('\n'); } } } class Employee : Person { protected int salary; protected string area; public Employee() { salary = 0; area = "None"; } public Employee(int age, string name, int salary, string area) : base(age, name) { this.salary = salary; this.area = area; } public void input(bool flag = false) { if (flag == false) { Console.WriteLine("Enter info about employee:"); } base.input(true); Console.WriteLine("salary:"); salary = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("area:"); area = Console.ReadLine(); if (flag == false) { Console.Write('\n'); } } public void output(bool flag = false) { if (flag == false) { Console.WriteLine("Info about employee:"); } base.output(true); Console.WriteLine("salary: {0}", salary); Console.WriteLine("area: " + area); if (flag == false) { Console.Write('\n'); } } } class Engineer : Employee { private int level; private string type; public Engineer() : base() { level = 0; type = "None"; } public Engineer(int age, string name, int salary, string area, int level, string type) : base(age, name, salary, area) { this.level = level; this.type = type; } public void input() { Console.WriteLine("Enter info about engineer:"); base.input(true); Console.WriteLine("level:"); level = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("type:"); type = Console.ReadLine(); Console.Write('\n'); } public void output() { Console.WriteLine("Info about engineer:"); base.output(true); Console.WriteLine("level: {0}", level); Console.WriteLine("type: " + type); Console.Write('\n'); } } class Servant : Person { private int yearsService; public Servant() : base() { yearsService = 0; } public Servant(int age, string name, int yearsService) : base(age, name) { this.yearsService = yearsService; } public void input() { Console.WriteLine("Enter info about servant:"); base.input(true); Console.WriteLine("years service: "); yearsService = Convert.ToInt32(Console.ReadLine()); Console.Write('\n'); } public void output() { Console.WriteLine("Info about servant:"); base.output(true); Console.WriteLine("years service: {0}", yearsService); Console.Write('\n'); } } class Program { public static void Main(string[] args) { Person person = new Person(); Employee employee = new Employee(); Engineer engineer = new Engineer(); Servant servant = new Servant(); person.input(); person.output(); employee.input(); employee.output(); engineer.input(); engineer.output(); servant.input(); servant.output(); // TODO: Implement Functionality Here Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } } }