Разобрать код - C# (191827)
Формулировка задачи:
Прошу пояснить код программы, что где и почему.
там по идеи должно быть:
1.В каждом классе спроектировать методы инициализации объектов, редактирование свойств и методы работы с объектами.
2. Проектирование и реализация классов. Конструкторов, методов и свойств. Доступ к полям классов сделать через свойства.
4. В базовом классе реализовать 2 виртуальные методы и переопределить их в походных кдасах.
5. Сделать базовый класс абстрактным, а реализацию методов сделать в производных классах.
6. Разработать 1 интерфейсный класс и реализовать его методы в одном из производных классов.
7. Создать класс, вложенный в базовый класс, и реализовать методы работы с этим классом.
8. Создать массив объектов одного из производных классов. Использовать стандартные интерфейсы для упорядочения объектов по одним и несколькими критериями.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace PREDPR { class Program { interface IComparable { void CompareTo(int obj); int OLD(int a, int b); } abstract class Firm : IComparable { public string firmname; public int kol_vo_years; public string rabochie; public Firm(string n, string r, int a) { firmname = n; kol_vo_years = a; rabochie = r; } public virtual string GetName(int str) { return firmname; } public virtual void MyRab(string str) { return; } public virtual void Mysecret(int R) { return; } public void CompareTo(int kol_vo_years) { if (kol_vo_years <= 2) Console.WriteLine("Молода компанiя"); else Console.WriteLine("Kомпанiя стабiльна"); } public int OLD(int a, int b) { int c; if (a > b) c = a; else c = b; return c; } } class Privat_firm : Firm { string tovar_vupiskf; public Privat_firm(string n, string r, int a, string f) : base(n, r, a) { firmname = n; kol_vo_years = a; rabochie = r; tovar_vupiskf = f; } class Becpeca { string[] subject = { "небеспечне", "беспечне", "екологiчне" }; double[] assesment = { 1, 2, 3 }; public void StTovar(int u) { Console.WriteLine(subject[u - 1]); } } Becpeca bec = new Becpeca(); public override string GetName(int kod_firm) { string tovar_vupiskf; switch (kod_firm) { case 1: { tovar_vupiskf = "ООО"; bec.StTovar(1); break; } case 2: { tovar_vupiskf = "ВАТ"; bec.StTovar(2); break; } case 3: { tovar_vupiskf = "ЗАТ"; bec.StTovar(3); break; } default: tovar_vupiskf = "помилка у кодi пыдприемства"; break; } return tovar_vupiskf; } public override void MyRab(string r) { Console.WriteLine("Робочий - " + r); } } class Dergavne : Firm { public string direktor_name; public int dayswork; public int secret_yroven; public Dergavne(string n, string r, int a, string f, int c, int b) : base(n, r, a) { //конструктор з параметрами firmname = n; kol_vo_years = a; rabochie = r; direktor_name = f; dayswork = c; secret_yroven = b; } public override void Mysecret(int secret_yroven) { Rab_secret(secret_yroven); Console.WriteLine("Таким чином обьект мая рiвень секретностi = " + secret_yroven); } public void Rab_secret(int secret_yroven) { if (secret_yroven == 0) Console.WriteLine("Засекреченнiй обьект"); else Console.WriteLine("Обьект не засекреченний "); } } static void Main(string[] args) { Console.WriteLine("Розглядаеться приватна компанiя"); Console.WriteLine(); Privat_firm pr1 = new Privat_firm("Бензинофф", "Островушко Ю.С.", 5, "паливо"); Console.WriteLine("Назва компанiї" + pr1.firmname); Console.WriteLine("ФIО Працiвника" + pr1.rabochie); Console.WriteLine(); string str1 = pr1.GetName(1); Console.WriteLine(str1 + " " + pr1.firmname); pr1.MyRab("ФIО Працiвника " + pr1.rabochie); Console.WriteLine(); Console.WriteLine("Розглядается державнi компанiї"); Console.WriteLine(); Dergavne der1 = new Dergavne("ХИМСТАФ", "Рак Т.С.", 5, "Овчаров Р.К.", 5, 1); Console.WriteLine("Назва компанiї " + der1.firmname); Console.WriteLine("ФIО Працiвника " + der1.rabochie); Console.WriteLine(); Dergavne der2 = new Dergavne("Рапториан", "Файзюков П.С.", 8, "Овчаров Р.К.", 5, 0); Console.WriteLine("Назва компанiї " + der2.firmname); Console.WriteLine("ФIО Працiвника " + der2.rabochie); Console.WriteLine(); der1.Mysecret(der1.secret_yroven); int c = der1.OLD(der1.kol_vo_years, der2.kol_vo_years); } } }
Решение задачи: «Разобрать код»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace PREDPR { class Program { interface IComparable { void CompareTo(int obj); int OLD(int a, int b); } abstract class Firm : IComparable { public string firmname; public int kol_vo_years; public string rabochie; public Firm(string n, string r, int a) { firmname = n; kol_vo_years = a; rabochie = r; } public virtual string GetName(int str) { return firmname; } public virtual void MyRab(string str) { return; } public virtual void Mysecret(int R) { return; } public void CompareTo(int kol_vo_years) { if (kol_vo_years <= 2) Console.WriteLine("молодая компания"); else Console.WriteLine("Kомпанiя стабильно"); } public int OLD(int a, int b) { int c; if (a > b) c = a; else c = b; return c; } } class Privat_firm : Firm { string tovar_vupiskf; public Privat_firm(string n, string r, int a, string f) : base(n, r, a) { firmname = n; kol_vo_years = a; rabochie = r; tovar_vupiskf = f; } class Becpeca { string[] subject = { "неббезопас", "безопас", "екологич" }; double[] assesment = { 1, 2, 3 }; public void StTovar(int u) { Console.WriteLine(subject[u - 1]); } } Becpeca bec = new Becpeca(); public override string GetName(int kod_firm) { string tovar_vupiskf; switch (kod_firm) { case 1: { tovar_vupiskf = "ООО"; bec.StTovar(1); break; } case 2: { tovar_vupiskf = "ВАТ"; bec.StTovar(2); break; } case 3: { tovar_vupiskf = "ЗАТ"; bec.StTovar(3); break; } default: tovar_vupiskf = "ошибка в коде"; break; } return tovar_vupiskf; } public override void MyRab(string r) { Console.WriteLine("Рабочий - " + r); } } class Dergavne : Firm { public string direktor_name; public int dayswork; public int secret_yroven; public Dergavne(string n, string r, int a, string f, int c, int b) : base(n, r, a) { firmname = n; kol_vo_years = a; rabochie = r; direktor_name = f; dayswork = c; secret_yroven = b; } public override void Mysecret(int secret_yroven) { Rab_secret(secret_yroven); Console.WriteLine("Таким образом у обьекта уровень секретности = " + secret_yroven); } public void Rab_secret(int secret_yroven) { if (secret_yroven == 0) Console.WriteLine("Засекреченный объект"); else Console.WriteLine("Обьект не засекреченный "); } } static void Main(string[] args) { Console.WriteLine("Рассматривается частная компания"); Console.WriteLine(); Privat_firm pr1 = new Privat_firm("Бензинофф", "Островушко Ю.С.", 5, "паливо"); Console.WriteLine("Название компании" + pr1.firmname); Console.WriteLine("ФИО работника" + pr1.rabochie); Console.WriteLine(); string str1 = pr1.GetName(1); Console.WriteLine(str1 + " " + pr1.firmname); pr1.MyRab("ФИО работника " + pr1.rabochie); Console.WriteLine(); Console.WriteLine("Рассматривается государственные компании"); Console.WriteLine(); Dergavne der1 = new Dergavne("ХИМСТАФ", "Рак Т.С.", 5, "Овчаров Р.К.", 5, 1); Console.WriteLine("Название компании " + der1.firmname); Console.WriteLine("ФИО работника " + der1.rabochie); Console.WriteLine(); Dergavne der2 = new Dergavne("Рапториан", "Файзюков П.С.", 8, "Овчаров Р.К.", 5, 0); Console.WriteLine("Название компании " + der2.firmname); Console.WriteLine("ФИО работника " + der2.rabochie); Console.WriteLine(); der1.Mysecret(der1.secret_yroven); int c = der1.OLD(der1.kol_vo_years, der2.kol_vo_years); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д