实例一:变形金刚 变形金刚在变形之前是一辆汽车,它可以在陆地上移动。当它变成机器人之后除了能够在陆地上移动之外,还可以说话;如果需要,它还可以变成飞机,除了在陆地上移动还可以在天空中飞翔。
public class Airplane extends Changer
{
public Airplane(Transform transform)
{
super(transform);
System.out.println("变成飞机!");
}
public void fly()
{
System.out.println("在天空飞翔!");
}
}
public final class Car implements Transform
{
public Car()
{
System.out.println("变形金刚是一辆车!");
}
public void move()
{
System.out.println("在陆地上移动!");
}
}
public class Changer implements Transform
{
private Transform transform;
public Changer(Transform transform)
{
this.transform=transform;
}
public void move()
{
transform.move();
}
}
public class Client
{
public static void main(String args[])
{
Transform camaro;
camaro=new Car();
camaro.move();
System.out.println("-----------------------------");
Airplane bumblebee=new Airplane(camaro);
bumblebee.move();
bumblebee.fly();
}
}
public class Robot extends Changer
{
public Robot(Transform transform)
{
super(transform);
System.out.println("变成机器人!");
}
public void say()
{
System.out.println("说话!");
}
}
public interface Transform
{
public void move();
}