package AbstractFactory;

public interface seat {
    void massage();
}

class luxurySeat implements seat{
    public void massage() {
        System.out.println("能***");
    }
}
class lowSeat implements seat{
    public void massage() {
        System.out.println("不能***");
    }
}
package AbstractFactory;

public interface engine {
void run();
void start();
}
class luxuryEngine implements engine{
    public void run() {
        System.out.println("转的快");
    }

    public void start() {
        System.out.println("启动快");
    }
}
class lowEngine implements engine{
    public void run() {
        System.out.println("转的慢");
    }

    public void start() {
        System.out.println("启动慢");
    }
}

package AbstractFactory;

public interface Tyre {
    void revolve();
}
class luxuryTyre implements Tyre{
    public void revolve() {
        System.out.println("不磨损");
    }
}
class lowTyre implements Tyre{
    public void revolve() {
        System.out.println("要磨损");
    }
}
package AbstractFactory;

public interface carfactory {
    engine createEngine();
    seat createSeat();
    Tyre createTyre();
}

package AbstractFactory;

public class LowCarFactory implements carfactory {


    public engine createEngine() {
        return new lowEngine();
    }

    public seat createSeat() {
        return new lowSeat();
    }

    public Tyre createTyre() {
        return new lowTyre();
    }
}

package AbstractFactory;

public class LuxuryCarFactory implements carfactory {


    public engine createEngine() {
        return new luxuryEngine();
    }

    public seat createSeat() {
        return new luxurySeat();
    }

    public Tyre createTyre() {
        return new luxuryTyre();
    }
}

package AbstractFactory;

public class client {
    public static void main(String[] args) {
        carfactory fa=new LuxuryCarFactory();
        engine e =fa.createEngine();
        e.run();
        e.start();
    }
}

运行结果:


类图: