• A Reducing code duplication and promoting code reusability.
  • B Hiding implementation details.
  • C Making all members private.
  • D Enabling polymorphism.