J'ai une classe avec deux méthodes A et B. La classe sera sous-classée. Existe-t-il une manière élégante de faire en sorte que B() ne soit appelé que sur un objet de la classe à l'intérieur de la méthode A()? Nous allons le contraindre et dire que A() n'est appelé qu'à un endroit mais que les sous-classes implémentent A() et peuvent éventuellement appeler B() à l'intérieur de celui-ci. Une façon dont j'ai pensé faire ceci était d'encapsuler l'appel A() avec la définition d'une variable globale qui dit que c'est bon d'appeler B(), et B() vérifierait cette variable quand elle est invoquée. Cela ne semble pas élégant cependant.python: appliquer une méthode de classe uniquement à partir d'une autre méthode de classe?
Des suggestions?
Assurez 'B' privé en ajoutant un underscore donc c'est '_B'. Cela dit aux gens que c'est une méthode privée. Je ne pense pas qu'il existe un moyen facile ou même fiable de faire ce que vous voulez en Python. – martineau
Il semble également que, du point de vue de la conception de POO, votre classe de base en sait trop sur les classes qui en seront dérivées. – martineau
Ajouter un soulignement pour signifier "privé", et supposer que les personnes qui utilisent cet objet sont intelligents, puis passer à des problèmes plus importants. –