示例#1
0
        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();
        }
示例#2
0
        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();
        }
示例#3
0
        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();
                    }
                }
            }
        }