Je comprends que le modèle OO de Perl est plutôt primitif; il s'agit, à bien des égards, essentiellement d'un hack de l'espace de noms. Néanmoins, je me demande s'il est possible de créer quelque chose comme une «interface»? Mon but est d'avoir une classe de base à partir de laquelle d'autres sont étendues dont le but principal est de rendre obligatoire l'implémentation de certaines méthodes (par le nom est bien, aucune signature nécessaire) par ces sous-classes. Peu m'importe si c'est une classe "purement virtuelle" (comme une "interface" en Java) ou une classe concrète avec des stubs implémentationnels réels pour ces méthodes dans la superclasse, mais ce que je veux, c'est rendre déterministe le fait que sous-classe implémenter certaines méthodes de la superclasse.Puis-je créer des interfaces de type Java dans Perl?
Est-ce possible? Si c'est le cas, comment?
Perl's OO n'est pas primitif, c'est juste une façon différente d'aborder le concept. –
Je pense qu'il voulait dire primitif en termes de fonctionnalités offertes. OO a quelques principes directeurs, et l'encapsulation est l'un d'entre eux. Perl fait (la plupart du temps) de l'encapsulation par convention, sauf si on utilise les bibliothèques les plus modernes, donc oui, Perl's OO est primitif, en s'appuyant sur les futurs développeurs pour maintenir la convention au lieu d'une vérification stricte. Je veux dire, cette personne demande des interfaces/classes virtuelles pures, et ce n'est pas là sans extensions. Ce n'est pas "entièrement en vedette". –