You are on page 1of 3

abstract class Engine

{
public int start()
{
System.out.println("Enginee internal logic");
return 0;//then return Enginee started success fully
//if return 1 then retry to start Enginee
} //if return 2 then enginee started but it needs maintanace
//if return 3 then enginee not started go to Garage
}
class Mockstartenginee extends Engine
{
}
class Mockretrytostart extends Engine
{
}
class MockstartedbutMaintanace extends Engine
{
}
class MockGotoGarage extends Engine
{
}

class car extends Mockstartenginee


{
public int drive(int mode){//3 mode manual,Automated,
int access=0;
access=start();
if (access==0)
{
System.out.println(" Enginee started press Acelator ");
}
else if(access==1){
System.out.println("then retry to start Enginee");

}
else if (access==2)
{
System.out.println("enginee started but it needs maintanace");
}

else if (access==3)
{
System.out.println("enginee not started go to Garage");
}
return 10;
}//drive method

}//car class
class Test
{
public static void main(String [] args){
car c1=new car();
c1.drive(1);
}
}===========================================================
abstract class Engine
{
public int start()
{
System.out.println("Enginee internal logic");
return 0;//then return Enginee started success fully
//if return 1 then retry to start Enginee
} //if return 2 then enginee started but it needs maintanace
//if return 3 then enginee not started go to Garage
}
class Mockstartenginee extends Engine
{
}
class Mockretrytostart extends Engine
{
}
class MockstartedbutMaintanace extends Engine
{
}
class MockGotoGarage extends Engine
{
}

class car
{
Engine en;
/*public car(){
en=new Mockstartenginee();

}*/
public car(Engine en){

this.en=en;

}
public int drive(){//3 mode manual,Automated,
// int access=0;
int access=en.start();
if (access==0)
{
System.out.println(" Enginee started press Acelator ");
}
else if(access==1){
System.out.println("then retry to start Enginee");

}
else if (access==2)
{
System.out.println("enginee started but it needs maintanace");
}

else if (access==3)
{
System.out.println("enginee not started go to Garage");
}
return 10;
}//drive method

}//car class
class Test
{
public static void main(String [] args){
car c1=new car(new Mockstartenginee());
c1.drive(1);

car c2=new car(new Mockretrytostart());


c2.drive(2);

car c3=new car(new MockstartedbutMaintanace());


c3.drive(3);

car c4=new car(new MockGotoGarage());


c4.drive(4);

}
}

You might also like