Mid OOP Why use abstract classes over interfaces? Abstract classes can provide shared implementation, fields, and constructors.Useful when multiple classes share common behavior along with enforced abstraction.