---
title: "Supprimer la méthode d'affectation"
type: "refactoring-technique"
slug: "remove-setting-method"
url: "http://localhost:3000/fr/remove-setting-method.md"
category: "Simplifying Method Calls"
description: "Problème : la valeur d'un champ ne doit être définie qu'au moment de sa création et ne doit jamais changer par la suite. Solution : supprimez donc les méthodes qui modifient la valeur du champ."
---
# Supprimer la méthode d'affectation

> Problème : la valeur d'un champ ne doit être définie qu'au moment de sa création et ne doit jamais changer par la suite. Solution : supprimez donc les méthodes qui modifient la valeur du champ.

## Problem

La valeur d'un champ ne doit être définie qu'au moment de sa création et ne doit jamais changer par la suite.

## Solution

Supprimez donc les méthodes qui modifient la valeur du champ.

## Why Refactor

Vous souhaitez empêcher toute modification de la valeur d'un champ.

## How to Refactor

1. La valeur d'un champ ne doit pouvoir être modifiée que dans le constructeur. Si le constructeur ne contient pas de paramètre permettant de définir la valeur, ajoutez-en un.
2. Recherchez tous les appels aux setters.

  * Si un appel à un setter se trouve juste après un appel au constructeur de la classe courante, déplacez son argument vers l'appel du constructeur et supprimez le setter.
  * Remplacez les appels aux setters dans le constructeur par un accès direct au champ.
3. Supprimez le setter.
## Relations

**Helps you do**

- [Remplacer une référence par une valeur](/fr/change-reference-to-value.md)

