OneCompiler

Design abstract class Employee with computeSal() as abstract function. Create two subclasses Worker and Manager. Salary of worker should be calculated on hourly basis of work and Salary of Manager should be calculated on monthly basis with additionalincentives using scala

488


abstract class Employee()
{
	def ComputeSal();
}

class Worker(a:Int) extends Employee()
{
	var S:Int=a;
	var ans:Int=300;
        def ComputeSal()
        {
               print("Salary of Worker WeekWise:"+((S*ans)*7)+"\n");
		
       	}

}

class Manager(b:Int) extends Employee()
{
        var R:Int=b;
        var ans:Double=10000;

	def ComputeSal()
	{
		print("Salary of Manager MonthWise:"+(ans+(R*300))+"\n");
	}
}
object EmpSal
{
	def main(a:Array[String])
	{
               val ob1=new Worker(4);
               val ob2=new Manager(12);
                while(true)
                {
                        println("MENU"+"\n"+"1:Worker"+"\n"+"2:Manager"+"\n"+"3:Exit")
                        print("Enter the Choise:");
                        var n1:Int=readInt();

                        n1 match{
                                case 1=>ob1.ComputeSal();

                                case 2=>ob2.ComputeSal();

                                case 3=>System.exit(0);



                        }
                }
	
	}	
}