Abstract class Vehicle
{
Vehicleimpl Avehicleimpl=null;
Public Vehicle (Vehicleimpl Vehicleimpl)
{
Avehicleimpl=vehicleimpl;
}
void Transport ()
{
Avehicleimpl.transportimpl ();
}
}
Interface Vehicleimpl
{
void Transportimpl ();
}
Class Transportpeople implements Vehicleimpl
{
public void Transportimpl ()
{
System.out.println ("people");
}
}
Class Transportgoods implements Vehicleimpl
{
public void Transportimpl ()
{
System.out.println ("goods");
}
}
Class Car extends Vehicle
{
Vehicleimpl Avehicleimpl=null;
Public Car (Vehicleimpl Vehicleimpl)
{
Super (VEHICLEIMPL);
}
public void Transport ()
{
System.out.print ("Car Transport");
Super.transport ();
}
}
Class Train extends Vehicle
{
Vehicleimpl Avehicleimpl=null;
Public Train (Vehicleimpl Vehicleimpl)
{
Super (VEHICLEIMPL);
}
public void Transport ()
{
System.out.print ("Train Transport");
Super.transport ();
}
}
public class Bridgepatterntest
{
public static void Main (string[] args)
{
Vehicle avehicle=new Car (New Transportpeople ());
Avehicle.transport ();
Avehicle=new Car (New Transportgoods ());
Avehicle.transport ();
Avehicle=new Train (New Transportpeople ());
Avehicle.transport ();
Avehicle=new Train (New Transportgoods ());
Avehicle.transport ();
}
}
//////////////////////////////////////////////////
Output Result:
Car Transport People
Car Transport Goods
Train Transport People
Train Transport Goods
10 of 23 Design Patterns in Java-bridge pattern