У меня есть иерархия, в которой квадрат, треугольник и круг являются продолжением формы. У меня есть рабочий метод:
public void someMethod() {
File file = new File("File_with_squares");
ThirdPartyClass foo = new ThirdPartyClass();
Square[] squares = foo.someMajicMethod(Square[].class,file);
for (Square square: squares)
square.draw();
}
Теперь я хочу сделать этот метод универсальным, чтобы он мог принимать любую форму. Я хочу иметь возможность называть его someMethod (Triangle.class, новый файл ("File_with_triangles")
или someMethod (Circle.class, new File ("File_with_circles")
. Я пытаюсь вот так:
public void someMethod(Class<? extends Shape> type, File shapeFile) {
ThirdPartyClass foo = new ThirdPartyClass();
#### What goes here??? ####
for (Shape shape: shapes)
shape.draw();
}
Что должно быть в #### Что здесь ??? #### ???