Entiendo que el modelo OO de Perl es bastante primitivo; es, en la mayoría de los aspectos, esencialmente un hack de espacio de nombres.¿Puedo crear interfaces tipo Java en Perl?
Sin embargo, me pregunto si es posible crear algo así como una "interfaz?" Mi objetivo es tener una clase base a partir de la cual se amplíen otras cuyo principal objetivo sea hacer obligatoria la implementación de ciertos métodos (por nombre está bien, sin firma necesaria) por esas subclases. Realmente no me importa si se trata de una clase "puramente virtual" (como una "interfaz" en Java) o una clase concreta con stubs de implementación reales para esos métodos en la superclase, pero lo que quiero es que sea determinísticamente necesario que el la subclase implementa ciertos métodos de la superclase.
¿Esto es posible? ¿Si es así, cómo?
El OO de Perl no es primitivo, es solo una manera diferente de abordar el concepto. –
Creo que quiso decir primitivo en términos de características ofrecidas. OO tiene algunos principios rectores, y la encapsulación es uno de ellos. Perl está haciendo (la mayoría de las veces) encapsulación por convención, a menos que uno use las bibliotecas más modernas, entonces sí, el OO de Perl es primitivo, confiando en que los futuros desarrolladores mantengan la convención en lugar de la estricta verificación de tiempo de compilación. Quiero decir, esta persona está pidiendo clases virtuales de interfaz/pura, y no está allí sin extensiones. Eso no es "completamente presentado". –