¿Cómo usar la composición en Java con ejemplos?

Como Usar La Composicion En Java Con Ejemplos



La composición permite a los programadores reutilizar clases existentes integrándolas en nuevas clases. En lugar de duplicar el código de varias clases, lo que mejora la reutilización del código. Además, la composición proporciona flexibilidad en la combinación de objetos en función de los requisitos recibidos de una clase. También promueve la modularidad y hace que el código sea más adaptable a los cambios.

Este artículo muestra una explicación detallada de la composición en Java con la ayuda de ejemplos.







¿Cómo usar la composición en Java con ejemplos?

La composición promueve el acoplamiento débil entre clases. Se accede a los objetos compuestos a través de interfaces, clases abstractas o superclases, que desacoplan la clase cliente de las implementaciones específicas. Esto mejora la capacidad de mantenimiento del código y permite pruebas y refactorizaciones más sencillas.



Visite el siguiente ejemplo para comprender mejor la composición en Java:



Ejemplo: Implementación del concepto de composición en Java





Para implementar el concepto de composición, comience con la creación de dos o más clases que hereden la función y los métodos para reducir el tiempo y la complejidad del código, como se muestra a continuación:

motor de clase {
cadena privada tipo ;
motor público ( Cadena tipo ) {
este.tipo = tipo ;
  }
inicio vacío público ( ) {
Sistema.fuera.println ( tipo + 'Motor arrancado' ) ;
  }
parada de vacío público ( ) {
Sistema.fuera.println ( tipo + 'Motor parado' ) ;
  }
}
bicicleta de clase {
versión de cadena privada;
motor de motor privado;
bicicleta publica ( Versión de cadena, motor de motor )
  {
this.versión = versión;
this.engn = motor;
  }
bicicleta de inicio de vacío público ( ) {
Sistema.fuera.println ( 'Arrancando la bicicleta' + versión ) ;
eng.start ( ) ;
  }
vacío público stopBike ( ) {
Sistema.fuera.println ( 'Parar la bicicleta' + versión ) ;
engn.stop ( ) ;
  }
}

 



Explicación del código anterior:

  • Primero, crea una clase llamada “ Motor ” e invoque el constructor predeterminado que trae un parámetro de tipo String llamado “ tipo ”.
  • A continuación, declare dos funciones llamadas “ comenzar() ' y ' detener() ” que imprimen mensajes ficticios en la consola.
  • Luego, crea una nueva clase llamada “ Bicicleta ” y se utiliza el constructor predeterminado que contiene la variable y el objeto de la clase anterior como parámetro.
  • Además, establezca estos parámetros como valores para variables y objetos creados dentro de la clase 'Bicicleta'. Hace que los valores sean accesibles dentro de la clase.
  • Después de eso, se crean dos funciones llamadas “ iniciarBicicleta() ' y ' detenerBicicleta() ” que imprimen un mensaje ficticio.
  • Al final, llama a las funciones creadas en el “ Motor ” clase usando su objeto llamado “ ingeniero ”.

Ahora, inserte el ' principal() ” método para hacer que el código indicado anteriormente funcione:

composición de clase pública {
vacío público estático principal ( Cadena [ ] argumentos ) {
Motor Nadie = nuevo motor ( 'YBR' ) ;
Bici bik = Bici nueva ( 'Bicicleta pesada' , Nadie ) ;
bik.startBike ( ) ;
bik.stopBike ( ) ;
  }
}

 

Explicación del código anterior:

  • En primer lugar, el objeto de la “ Motor ” se crea la clase con el nombre “ Nadie ” y se pasa un valor de tipo String aleatorio a su constructor.
  • A continuación, cree un objeto para el “ Bicicleta 'clase nombrada' particular ”. Después de eso, pase el valor de tipo String a lo largo del objeto de clase 'Motor' como un argumento para su constructor.
  • Al final, llame al “ iniciarBicicleta() ' y ' detenerBicicleta() ” funciones usando el “ particular ' objeto.

Después de la ejecución del fragmento de código anterior:

La instantánea anterior muestra que los datos se recuperan utilizando el concepto de composición.

Uso en tiempo real de la composición

Hay muchas aplicaciones en tiempo real donde el concepto de composición juega un papel vital. Algunos de estos

los usos se escriben a continuación:

  • En ' Desarrollo de GUI ”, la composición se usa comúnmente para construir componentes de interfaz de usuario complejos. Por ejemplo, una clase de ventana puede componer objetos como botón, etiqueta y campo de texto.
  • El ' Inyección de dependencia Los marcos, como Spring, utilizan mucho la composición para inyectar dependencias en los objetos.
  • La composición es ampliamente utilizada en “ Diseño de aplicaciones ” para modelar relaciones complejas entre objetos como Cliente, Transacción y Saldo para representar una cuenta bancaria con funcionalidades relacionadas
  • La composición es fundamental en “ Desarrollo basado en componentes ”, donde se componen componentes reutilizables para crear sistemas más grandes.
  • La composición se utiliza en varias estructuras de datos para combinar estructuras de datos más simples para formar otras más complejas.

Conclusión

La composición se utiliza para crear objetos complejos fusionando objetos simples. Permite a los programadores establecer relaciones entre clases basadas en el “ tiene un ” relación, en la que la primera clase contiene una instancia de la segunda clase. Al usar el concepto de composición, el programador puede lograr diseños modulares, reutilizables y flexibles al componer objetos con comportamientos específicos.