Constructor en java

Constructor en java

Interfaz del constructor Java

Skip to contentEl patrón de diseño constructor de Java entra en la categoría de Patrón de Diseño Creativo y se utiliza para construir objetos complejos a partir de objetos simples utilizando un enfoque paso a paso.La principal ventaja del patrón de diseño constructor es que proporciona un mejor control sobre el proceso de construcción de objetos.Consideremos el ejemplo de un restaurante de comida rápida. Una hamburguesa y una bebida fría pueden ser un tipo de comida. Una hamburguesa puede ser una hamburguesa vegetariana o una hamburguesa no vegetariana con un envoltorio. La bebida fría puede ser como Pespsi o Limca envasada en una botella.ExampleItem.javapackage com.w3spoint;

Herencia del constructor Java

Llevo tiempo queriendo escribir una serie de artículos sobre patrones de diseño. Los patrones son componentes increíblemente valiosos en la caja de herramientas de un desarrollador: abordan problemas comunes que tienen soluciones aceptadas y eficaces. Además, contribuyen a crear un vocabulario compartido entre los desarrolladores.

Esta serie asume que se entiende la programación orientada a objetos (POO). Sin embargo, intentaré que los ejemplos sean lo más sencillos y accesibles posible, favoreciendo las implementaciones prácticas sobre los ejemplos oscuros. Si está buscando un texto académico autorizado sobre patrones, esto es lo que quiere:  Design Patterns: Elements of Reusable Object-Oriented Software.

  Constructoras coruña

Empezaremos con el patrón Builder (uno de mis favoritos). El patrón Builder es un patrón de creación - en otras palabras, se utiliza para crear y configurar objetos. Me gusta especialmente el ejemplo que Joshua Bloch utiliza en Effective Java.

Para este ejemplo, fingiremos que formamos parte de un equipo Java que trabaja en una pieza de software para un banco. Entre otras cosas, necesitaremos una forma de representar las cuentas bancarias. Nuestro primer paso se parece a esto (ten en cuenta que usar double para los valores monetarios reales es una mala idea).

Patrón constructor java

Pero hay un problema. Necesito obligar al usuario a especificar al menos dos de las categorías, países o palabras clave antes de construir el objeto (¡ahora mismo el usuario no está obligado a especificar ni siquiera una!). Un usuario no debería poder crear un objeto especificando sólo el país, por ejemplo.

  Constructoras murcia

¿Cómo puedo forzar este requisito? Si hago tres constructores (cada uno con dos de esos parámetros) siento que estoy arruinando el patrón Builder, aunque habrá tres propiedades opcionales más para especificar.

Como diseñador, tienes que decidir qué campos son realmente necesarios. No existe tal cosa como "tal vez requerido". Para utilizar el patrón Builder y hacer cumplir los parámetros requeridos, marque los campos como finales e inyéctelos a través del constructor:

El constructor impone los campos requeridos y opcionales. El objeto construido por el constructor oculta el constructor para que sólo sea accesible a través del constructor. Los campos dentro del objeto de solicitud son todos finales para la inmutabilidad.

Java builder pattern baeldung

¿Cuándo necesitaremos el patrón de diseño Builder? Imagina que queremos construir un software que acepte los detalles de los clientes y los almacene en una base de datos. A los clientes se les muestra un formulario que acepta los siguientes campos obligatorios y opcionales.Idealmente, creamos una clase Customer con los atributos obligatorios y opcionales listados arriba. Creamos un constructor que acepte los atributos anteriores. Dado que algunos atributos son opcionales, es posible que tengamos que pasar valores nulos a aquellos atributos que no queramos utilizar. El patrón de diseño constructor nos permite crear un objeto paso a paso sin pasar todos los valores al constructor.El patrón de diseño constructor elimina el problema del constructor telescópico en el que creamos varios constructores sobrecargados con menos argumentos.Ejemplo

  Constructor de la torre eiffel

Consideremos la creación de un objeto Cliente con los atributos obligatorios firstName, lastName y los opcionales middleName y age. Creamos varios constructores sobrecargados que llaman al constructor por defecto con valores por defecto para las entradas que faltan.Clase Cliente {

Subir
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad