1
Limitar el acceso a los datos de los objetos
2
Delegar la funcionalidad del comportamiento a la clase derivada
3
seleccionar las características relevantes dentro de un conjunto
4
Nadie puede ver el elemento excepto aquellos objetos de la misma clase y todos aquellos objetos derivados de la superclase
5
Crear clases a partir de clases ya existentes
6
Todos tienen acceso a los miembros del objeto
7
Nadie puede ver el elemento excepto aquellos objetos de la misma clase