@Override public double computePerimeter(AbstractShape shape) { double perimeter = 0; if (shape instanceof Triangle) { Triangle triangle = (Triangle) shape; perimeter = triangle.getA() + triangle.getB() + triangle.getC(); } else { throw new IllegalArgumentException("Incompatible shape: " + shape.getClass()); } return perimeter; }