---
title: "Clase de datos"
type: "code-smell"
slug: "data-class"
url: "http://localhost:3000/es/smells/data-class.md"
category: "Dispensables"
description: "Una clase de datos es una clase que contiene únicamente campos y métodos rudimentarios para acceder a ellos (getters y setters). No son más que contenedores de datos que utilizan otras clases. Estas clases no contienen ninguna funcionalidad adicional y no pueden operar de forma independiente sobre los datos que poseen."
---
# Clase de datos

> Una clase de datos es una clase que contiene únicamente campos y métodos rudimentarios para acceder a ellos (getters y setters). No son más que contenedores de datos que utilizan otras clases. Estas clases no contienen ninguna funcionalidad adicional y no pueden operar de forma independiente sobre los datos que poseen.

## Signs and Symptoms

Una clase de datos es una clase que contiene únicamente campos y métodos rudimentarios para acceder a ellos (getters y setters). No son más que contenedores de datos que utilizan otras clases. Estas clases no contienen ninguna funcionalidad adicional y no pueden operar de forma independiente sobre los datos que poseen.

## Reasons for the Problem

Es algo normal que una clase recién creada contenga únicamente unos pocos campos públicos (y quizá incluso un puñado de getters/setters). Pero el verdadero poder de los objetos reside en que pueden contener tipos de comportamiento u operaciones sobre sus datos.

## Payoff

* Mejora la comprensión y la organización del código. Las operaciones sobre datos concretos ahora se reúnen en un único lugar, en vez de estar dispersas de forma desordenada por todo el código.
* Te ayuda a detectar la duplicación de código cliente.
## Relations

**Treated by**

- [Encapsular Campo](/es/encapsulate-field.md)
- [Encapsular colección](/es/encapsulate-collection.md)
- [Mover método](/es/move-method.md)
- [Extraer método](/es/extract-method.md)
- [Eliminar método de asignación](/es/remove-setting-method.md)
- [Ocultar método](/es/hide-method.md)


## Detected by

- **pmd** `DataClass` — Clase de datos (PMD) (https://pmd.github.io/pmd/pmd_rules_java_design.html#dataclass)
