Good Class Interfaces
The first and probably most important step in creating a high-quality class is creating a good interface. This consists of creating a good abstraction for the interface to represent and ensuring that the details remain hidden behind the abstraction.
As "Form Consistent Abstractions" in Design Building Blocks: Heuristics described, abstraction is the ability to view a complex operation in a simplified form. A class interface provides an abstraction of the implementation that's hidden behind the interface. The class's interface should offer a group of routines that clearly belong together.
You might have a class that implements an employee. It would contain data describing the employee's name, address, phone number, ...