Según el paradigma de programación orientado a objetos, los tipos abstractos se implementan bajo nombres como clases base abstractas, interfaces, rasgos (en inglés, traits), mixins, sabores (en inglés, flavors) o roles.