0

标题可能令人困惑......这是代码:

这是生成具有不同类型的每个不同对象的类..例如:BookingReferenceExtractor AircraftExtractor我这里的方法是通用的...取一个字符串并主观返回不同的对象...

public class ExtractorFactory {

    private static ExtractorFactory extractorFactory;

    public ExtractorFactory(){

    }

    public Extractor extractorFor(String extractorType) {
        if(extractorType.equals("booking_reference")){
            return new BookingReferenceExtractor();
        }
        else if("itinerary".equals(extractorType)){
            return new ItineraryExtractor();
        }
        else if("passengers".equals(extractorType))
        {
            return new PassengersExtractor();
        }
        else if("aircraft".equals(extractorType))
        {
            return new AircraftExtractor();
        }

        return null;
    }
}

我现在需要的是使该类具有通用性...例如,当我将参数传递给构造函数时,它将主观地生成对象...而无需访问其他方法...例如:

ExtractorFactory BookingReferenceExtractor_object = new ExtractorFactory("booking_reference");

ExtractorFactory ItineraryExtractor_object = new ExtractorFactory("itinerary");
..
..

基本上,需要对类承包商做一些事情,使其通用,任何传入的字符串,它都可以直接生成对应对象,而无需调用其他方法。

我一直在阅读这个 tut: http: //math.hws.edu/javanotes/c10/s5.html我知道它应该做类似的事情:

class Queue<T> {
    private LinkedList<T> items = new LinkedList<T>();
    public void enqueue(T item) {
      items.addLast(item);
    }
    public T dequeue() {
      return items.removeFirst();
    }
    public boolean isEmpty() {
      return (items.size() == 0);
    }
}

...但不确定如何转换为通用类...有什么建议吗?谢谢。

4

0 回答 0