Interface Segregation

 

jjjj


interface Vehicle {
void dive();
void fly();
}

class Car implements Vehicle {
@Override
public void dive() {System.out.println("InterfaceSegregation.Car dive");}

@Override
public void fly() {
//This not needed to a bike
}
}

Fixing That issue..

interface DrivingVehicle {void dive();}
interface FlyingVehicle {void fly();}

class Car implements DrivingVehicle {
@Override
public void dive() {System.out.println("InterfaceSegregation.Car dive");}

}

class Plane implements DrivingVehicle,FlyingVehicle {
@Override
public void dive() {System.out.println("InterfaceSegregation.Plane dive");}

@Override
public void fly() {System.out.println("InterfaceSegregation.Plane fly");}
}



class PetrolEngine{}

class Vehicle{
private PetrolEngine engine;
Vehicle(PetrolEngine engine){this.engine=engine;}
}

Fixing that issue.

interface Engine{}
class PetrolEngine implements Engine{}
class DieselEngine implements Engine{}

class Vehicle{
private Engine engine;
Vehicle(Engine engine){this.engine=engine;}
}

klkklkl

Comments

Popular posts from this blog

02. Spring – Creating spring project clone it with GIT step by step.

02.What is MicroService?

06.Mongo DB - Query part 2 (Aggregation)