Java에서 기본/부모 클래스를 작성합니다.이 클래스는 자체적으로 클래스를 만드는 여러 가지 방법을 갖기 때문에 부모 클래스에서 인스턴스를 반환 할 수있는 방법이 있는지 궁금합니다. 자식 클래스의 인스턴스를 반환하는 대신 자식 클래스의 인스턴스를 반환해야합니다. 예를 들어 자식 클래스 개체를 반환하는 부모 클래스를 만듭니다.
, 여기 내 부모 클래스의 :public abstract class SFObject
{
// Variables
protected String mID;
protected String mName;
// Function called to create ourselves from a DiffObject
public abstract SFObject CreateFromDiffObject(DiffObject object);
// Function called to create a list of ourselves from a query
public List<SFObject> CreateListFromQuery(Connection connection, String query)
{
// Run the query and loop through the results
ArrayList<SFObject> objects = new ArrayList<SFObject>();
for (DiffObject object : connection.Query(query))
objects.add(CreateFromDiffObject(object));
return objects;
}
}
내 SFObject 클래스를 기반으로 하위 클래스를 만들 경우, 여전히 캐스트 할 필요가있는 SFObject를 (반환 내 아이 클래스의 두 가지 기능 내 하위 클래스 유형) 또는 SFObject 목록 (하위 클래스 유형으로 개별적으로 캐스팅해야 함) 내 자식 클래스 자체가 SFObjects가 아닌 자체 인스턴스를 반환하도록하는 데는 (어쩌면 Reflections를 사용하는) 방법이 있습니까?
아마 여기서 공장이나 추상 팩터 리를 만들려고합니다. –