2008-10-15 6 views

Répondre

7

Le deuxième exemple rend le champ public, pas une propriété (votre question). Cela fournit un moyen simple de faire des propriétés simples. Les propriétés doivent être vos champs par défaut et non publics. la liste des raisons est sans fin, mais commence par:

  • encapsulation
  • possibilité d'ajouter une notification
  • encapsulation
  • capacité à faire la validation
  • encapsulation
  • liaison de données
  • encapsulation
  • contrôle de sécurité

oh - et ai-je mentionné l'encapsulation?

Passer d'un champ à une propriété après le fait est un changement de rupture - surtout si vous utilisez beaucoup de code "ref" ou des structures mutables (yeuch).

+1

L'encapsulation est également importante. Je suis surpris que vous n'ayez pas inclus cela dans votre liste par ailleurs excellente. –

+0

oh, ma mauvaise - je vais essayer de se rappeler que pour la prochaine fois ... –

1

Il peut y avoir un certain nombre de choses que vous devez faire lorsque la valeur de l'utilisateur change. Les choses que vous ne connaissez pas à l'avance ou qui ne sont pas présentes au moment de la conception de vos cours. Par exemple, un jour, vous vous rendez compte que la valeur utilisateur doit comporter au moins 5 caractères. Si vous avez et la propriété est simple à mettre en œuvre. Si vous avez un champ public, vous devez le changer en propriété et recompiler tout le code dépendant.

En substance, je pense qu'il est utile de séparer explicitement la partie publique/API de nos types et les détails de l'implémentation privée.

Est-ce que quelqu'un a mentionné l'encapsulation? ;)

Questions connexes