• [^] # Re: Supposition

    Posté par . En réponse au message Python: getter, setter, and deleter. Évalué à 2.

    Du coup, je ne comprend pas pourquoi le @x.setter dans D n'écrase pas la propriété de la classe parente.

    De la même manière que @x.setter n'écrase pas les autres accesseurs dans la classe C. Et de toutes façons, à sa manière, le @C.x.getter a déjà « écrasé » la variable parente (x) au sens où D l'a maintenant redéfinie (mais en gardant les setter et deleter de C).
    Il faut bien comprendre que les trois « accesseurs » dont on parle sont en fait une seule variable python. Pour bien comprendre, il faut déjà bien avoir compris le mécanisme de property, sans les décorateurs : c.f. help(property).
    Quand x.setter est appelé, cette fonction « mémorise » les autres accesseurs déjà définis et ajoute seulement le setter.