42 votes

Existe-t-il un équivalent Python aux classes partielles ?

En utilisant de "nouvelles" classes de style (je suis en python 3.2), existe-t-il un moyen de diviser une classe sur plusieurs fichiers ? J'ai une grande classe (qui devrait vraiment être une seule classe du point de vue de la conception orientée objet, compte tenu du couplage, etc., mais ce serait bien de diviser quelques fichiers juste pour faciliter l'édition de la classe.

13voto

Ciprian Tarta Points 296

Vous pouvez le faire avec des décorateurs comme ceci :

 class Car(object):

    def start(self):
        print 'Car has started'


def extends(klass):
    def decorator(func):
        setattr(klass, func.__name__, func)
        return func
    return decorator

#this can go in a different module/file
@extends(Car)
def do_start(self):
    self.start()


#so can this
car = Car()
car.do_start()

#=> Car has started

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X