When to Use Abstract Classes - Abstract Classes — Incomplete Contracts and Partial Implementations | OneNoughtOne