---
title: "Удаление сеттера"
type: "refactoring-technique"
slug: "remove-setting-method"
url: "http://localhost:3000/ru/remove-setting-method.md"
category: "Упрощение вызовов методов"
description: "Проблема: Значение поля должно быть установлено только в момент создания и больше никогда не меняться. Решение: Удалите методы, устанавливающие значение этого поля."
---
# Удаление сеттера

> Проблема: Значение поля должно быть установлено только в момент создания и больше никогда не меняться. Решение: Удалите методы, устанавливающие значение этого поля.

## Problem

Значение поля должно быть установлено только в момент создания и больше никогда не меняться.

## Solution

Удалите методы, устанавливающие значение этого поля.

## Why Refactor

Вы хотите сделать значение поля неизменяемым.

## How to Refactor

1. Значение поля должно меняться только в конструкторе. Если конструктор не содержит параметра для установки значения, нужно его добавить.
2. Найдите все вызовы сеттера.

  * Если вызов сеттера стоит сразу после вызова конструктора текущего класса, переместите его аргумент в вызов конструктора и удалите сеттер.
  * Вызовы сеттера в конструкторе замените на прямой доступ к полю.
3. Удалите сеттер.
## Relations

**Helps you do**

- [Замена ссылки значением](/ru/change-reference-to-value.md)

