Aller au contenu Aller au menu
  • Dépêches
  • Journaux
  • Liens
  • Forums
  • Rédaction
  • 🎙️ Projets Libres

LinuxFr.org

Se connecter

Proposer un contenu

  • Pas de compte ? S’inscrire...

Re: Encapsulation

Retourner au contenu associé (journal : Journal inutile : Python c'est complêtement pourri, j'ai un exemple)

  • [^] # Re: Encapsulation

    Posté par Jean B le 03 juin 2010 à 10:35. En réponse au journal Journal inutile : Python c'est complêtement pourri, j'ai un exemple. Évalué à 1.

    Si je reprend l'exemple de wikipedia http://en.wikipedia.org/wiki/Class_invariant#Examples
    en python ça donne:
    class Date(object):

    def __init__(self, day):
    self.day = day

    @property
    def day(self):
    return self._day

    @day.setter
    def day(self, day):
    assert 1 <= day <= 31
    self._day = day


    d = Date(2)
    d = Date(42)


    Avec un code comme ça pas d'erreur possible. Si quelqu'un modifie _day depuis l'extérieur de la classe et que son code pête il n'a que ce qu'il mérite.

    NB j'utilise la syntaxe 2.6 mais il en existe une compatible de 2.2 à 2.6

Revenir en haut de page

Derniers commentaires

  • Déprimant ....
  • Re: À propos de Mole
  • Re: À propos de Mole
  • Raccourci
  • Explications
  • Re: Il manque un avertissement
  • Mieux que Free
  • Voir aussi
  • Il manque un avertissement
  • Re: sérendipité → cogénération domestique
  • MolktenVK : libre ou propriétaire ? il faut choisir !
  • Re: Démailnagement chez les chatons

Étiquettes (tags) populaires

  • intelligence_artificielle
  • grands_modèles_de_langage
  • merdification
  • hugging_face
  • états-unis
  • capitalisme_de_surveillance
  • administration_française
  • startup_nation
  • bigtech
  • fuite_de_données
  • capitalisme
  • slop

Sites amis

  • Agenda du Libre
  • April
  • Éditions D-BookeR
  • Éditions Diamond
  • Éditions Eyrolles
  • Éditions ENI
  • En Vente Libre
  • Framasoft
  • La Quadrature du Net
  • Lea-Linux
  • Open Source Initiative
  • Imprimerie Grafik Plus

À propos de LinuxFr.org

  • Mentions légales
  • Faire un don
  • L’équipe de LinuxFr.org
  • Informations sur le site
  • Aide / Foire aux questions
  • Suivi des suggestions et bogues
  • Wiki du site
  • Règles de modération
  • Statistiques
  • API pour le développement
  • Code source du site
  • Plan du site

AltStyle によって変換されたページ (->オリジナル) /