예제 #1
0
        public static void Main()
        {
            IManager peach = new CEO
            {
                FirstName = "Peach"
            };

            peach.CalculatePerHourRate(6);

            IManaged mario = new Manager
            {
                FirstName = "Mario"
            };

            mario.AssignManager(peach);
            mario.CalculatePerHourRate(4);

            Employee luigi = new Employee
            {
                FirstName = "Luigi"
            };

            luigi.AssignManager(mario);
            luigi.CalculatePerHourRate(2);

            Console.WriteLine($"{luigi.FirstName}'s salary is {luigi.Salary}/hour");
        }
예제 #2
0
        static void Main(string[] args)
        {
            // Console.WriteLine("Hello World! this is LSP correct lib");

            //   Manager manager =new Manager();
            //   manager.FirstName="pamal";
            //   manager.LastName="sahan";
            //   manager.CalculatePerHourRate(4);

            //   Employee employee=new Employee();
            //   employee.FirstName="chamath";
            //   employee.LastName="deshan";
            //   employee.AssignManager(manager);
            //   employee.CalculatePerHourRate(2);

            //   Console.WriteLine($"{employee.FirstName}'s salary is ${employee.Salary}/hour");

            // LSPcorrect.model. Manager manager =new Manager();
            // manager.FirstName="pamal";
            // manager.LastName="sahan";
            // manager.CalculatePerHourRate(4);

            BaseEmployee employee = new CEO();

            employee.FirstName = "pamal";
            employee.LastName  = "sahan";
            employee.CalculatePerHourRate(4);

            Console.WriteLine($"{employee.FirstName}'s salary is ${employee.Salary}/hour");
        }
예제 #3
0
파일: Program.cs 프로젝트: Vorsutus/LSP
        static void Main(string[] args)
        {
            //Manager accountingVP = new Manager();
            IManager accountingVP = new Manager(); //this would work with new CEO too because

            accountingVP.FirstName = "Emma";
            accountingVP.LastName  = "Stone";
            accountingVP.CalculatePerHourRate(4);

            Console.WriteLine($"{ accountingVP.FirstName }'s salary is ${ accountingVP.Salary }/hour.");

            //Employee emp = new Employee(); //this works so no VIOLATION of Liskov Sub
            //Employee emp = new Manager(); //This works so no VIOLATION of Liskov Sub
            //Employee emp = new CEO(); //This DOES NOT work so it violates Liskov Sub

            //this works for new Employee, new Manager, and new CEO because they all inherit from BaseEmployee
            BaseEmployee emp = new CEO();

            emp.FirstName = "Tim";
            emp.LastName  = "Corey";
            //emp.AssignManager(accountingVP);
            emp.CalculatePerHourRate(2);

            Console.WriteLine($"{ emp.FirstName }'s salary is ${ emp.Salary }/hour.");

            Console.ReadLine();
        }
예제 #4
0
        static void Main(string[] args)
        {
            IManager accountingVP = new CEO();

            accountingVP.FirstName = "Emma";
            accountingVP.LastName  = "Stone";
            accountingVP.CalculatePerHourRate(4);

            IManaged emp = new Manager();

            emp.FirstName = "Tim";
            emp.LastName  = "Corey";
            emp.AssignManager(accountingVP);
            emp.CalculatePerHourRate(2);

            Console.WriteLine($"{ emp.FirstName }'s salary is ${ emp.Salary }/hour.");
        }
예제 #5
0
        static void Main(string[] args)
        {
            IManager manager = new CEO();

            manager.FirstName = "Emma";
            manager.LastName  = "Stone";
            manager.CalculatePerHourRate(4);

            IManaged emp = new Employee();

            emp.FirstName = "Petar";
            emp.LastName  = "Mihaylov";
            emp.AssignManager(manager);
            emp.CalculatePerHourRate(2);

            Console.WriteLine($"{emp.FirstName}'s salary is ${emp.Salary}/hour.");

            Console.ReadLine();
        }
예제 #6
0
        static void Main(string[] args)
        {
            IManager ceo = new CEO();

            ceo.FirstName = "Emma";
            ceo.LastName  = "Stone";
            ceo.CalculatePerHourRate(1);

            IManaged emp = new Manager();

            emp.FirstName = "Tim";
            emp.LastName  = "Corey";
            emp.AssignManager(ceo);
            emp.CalculatePerHourRate(6);

            Console.WriteLine($"{ceo.FirstName}'s salary is ${ceo.Salary}/hour");
            Console.WriteLine($"{emp.FirstName}'s salary is ${emp.Salary}/hour");
            Console.ReadKey();
        }
예제 #7
0
        public static void Main(string[] args)
        {
            IManager accountingVP = new CEO();

            accountingVP.FirstName = "E mma";
            accountingVP.LastName  = "Stone";
            accountingVP.CalculatePerHourRate(4);

            IManaged employee = new Employee();

            employee.FirstName = "Alex";
            employee.LastName  = "DC";
            employee.AssignManager(accountingVP);
            employee.CalculatePerHourRate(2);


            Console.WriteLine($"{ employee.FirstName }´s salary is ${ employee.Salary }/hour.");
            Console.ReadLine();
        }
예제 #8
0
        static void Main(string[] args)
        {
            IManager accountingVP = new CEO();

            accountingVP.FirstName = "Emma";
            accountingVP.LastName  = "Stone";
            accountingVP.CalculatePerHourRate(4);

            IManaged emp = new Employee();

            emp.FirstName = "Laurent";
            emp.LastName  = "Bajrami";
            emp.AssignManager(accountingVP);
            emp.CalculatePerHourRate(2);

            Console.WriteLine($"{ emp.FirstName}'s salary is ${ emp.Salary }/hour");

            Console.ReadLine();
        }
예제 #9
0
        static void Main(string[] args)
        {
            Manager accountingVP = new Manager();

            accountingVP.FirstName = "Bhaskar";
            accountingVP.LastName  = "Shelar";
            accountingVP.CalculatePerHourRate(4);
            //Console.WriteLine($"{ accountingVP.FirstName }'s salary is ${ accountingVP.Salary }/hour.");


            IManager emp = new CEO();

            emp.FirstName = "vaibhav";
            emp.LastName  = "Shelar";
            //emp.AssignManager(accountingVP);
            emp.CalculatePerHourRate(2);

            Console.WriteLine($"{ emp.FirstName }'s salary is ${ emp.Salary }/hour.");


            Console.ReadLine();
        }