Create an abstract class `Factorial` that will serve as the base class for calculating the factorial of a number. This class should have an abstract method `calculate` that will be implemented by its child classes.
Implement two child classes:
-`IterativeFactorial` which implements the factorial calculation using an iterative approach.
-`RecursiveFactorial` which implements the factorial calculation using a recursive approach.
> Note: The factorial of 0 is 1, according to the [convention](https://www.chilimath.com/lessons/intermediate-algebra/zero-factorial/)
#### Formula for factorial calculation:
n! = n × (n−1) × (n−2) × … × 1
And an example:
5! = 5 × 4 × 3 × 2 × 1 = 120
### Expected Abstract Class
```java
public abstract class Factorial {
public abstract long calculate(int n);
}
public class IterativeFactorial extends Factorial {
@Override
public long calculate(int n) {
// iterative factorial calculation
}
}
public class RecursiveFactorial extends Factorial {