public void MD() { List <Employee> e = new List <Employee>(); Console.WriteLine("Sveiki! Ievadiet, ludzu, datus par savas komandas dalibniekiem"); Console.WriteLine(); Console.WriteLine("Menedzers"); e.Add(new Manager(Name(), Age(), MonthlySalary(), YearsOfExperience())); Console.WriteLine(); Console.WriteLine("1. programmetajs"); e.Add(new Programmer(Name(), Age(), MonthlySalary(), Language())); Console.WriteLine(); Console.WriteLine("2. programmetajs"); e.Add(new Programmer(Name(), Age(), MonthlySalary(), Language())); Console.WriteLine(); Console.WriteLine("datubazu eksperts"); e.Add(new DatabasePRO(Name(), Age(), MonthlySalary(), DatabaseTool())); //foreach (Manager a in e) //{ // a.Print(); //} foreach (Employee em in e) { if (em is Manager m) { //tad šādi var čekot kas ir tajā un var daīt konkrēto darbību } else { if (em is Programmer)//ar is tu pārbaudi nevis vērtību bet tipu!! { } else { DatabasePRO d = em as DatabasePRO;//tips e selektots ka databasepro objects } } } //foreach (Programmer a in e) //{ // a.Print(); //} //foreach (DatabasePRO a in e) //{ // a.Print(); //} Programmer p1 = GetProgrammer(); Programmer p2 = GetProgrammer(); }
static void Main(string[] args) { Programmer p = new Programmer("janis", 22, 2000, "c#"); p.Work(); Manager m = new Manager("Martins", 27, 2200, 2); m.Work(); DatabasePRO d = new DatabasePRO("Oskars", 25, 1500, "aa"); d.Work(); //ja klase ir abstrakta, tad no tās nevar taisīt objektu; un kalpo tikai kā bāze //visas īpašības vēl var mantot //Employee e = new Employee(); //e.Work(); }
static void EmployeeList() { List <Employee> lst = new List <Employee>(); Console.WriteLine("Please creat team of one Manager, two Programmers and one Database expert."); Console.WriteLine(); Console.WriteLine("Please enter information about Manager:"); Console.WriteLine(); MaInput(lst); Console.WriteLine("Please enter information about Programmers:"); Console.WriteLine(); ProInput(lst); Console.WriteLine("Please enter information about Database expert:"); Console.WriteLine(); DproInput(lst); foreach (Employee e in lst) //tikai daļēji saprotu aiz šī loģiku, vai varētu lūdzu detalizētāk izskaidrot. { //varbūt ir kāda labāka metode kā tikt klāt viena saraksta objektiem no dažādām klasēm. if (e is Manager m) { m.PrintM(); } else { if (e is Programmer p) { p.PrintPro(); } else { DatabasePRO d = e as DatabasePRO; d.PrintDP(); } } } }