This paper presents, explores and compares object-oriented approaches for roles in statically typed programming lan- guages. We choose five solutions which support informa- tion hiding. On the one hand, we investigate the estab- lished object-oriented possibilities multiple and interface in- heritance and the role object pattern, on the other hand, we examine the language extensions Object Teams and the syn- tactical extension of classes with roles. We discuss all ap- proaches in turn, using a versatile example. The investigation shows that standard approaches interface inheritance and role object pattern are more appropriate for enterprise projects. New approaches are not developed far enough to be used widespread. But they are all promising proceedings, particularly the approach of roles as components of classes.