La composición en Java es la técnica de diseño para implementar la relación tiene-un en las clases. Podemos usar la herencia en Java o la composición de objetos en Java para reutilizar código.
Composición en Java
La composición en Java se logra utilizando variables de instancia que hacen referencia a otros objetos. Por ejemplo, una
Persona
tiene un Trabajo
. Veamos esto con un ejemplo de código de composición en Java.
Ejemplo de Composición en Java
package com.journaldev.composition;
public class Job {
private String role;
private long salary;
private int id;
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public long getSalary() {
return salary;
}
public void setSalary(long salary) {
this.salary = salary;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
package com.journaldev.composition;
public class Person {
// relación tiene-un mediante composición
private Job job;
public Person(){
this.job=new Job();
job.setSalary(1000L);
}
public long getSalary() {
return job.getSalary();
}
}
Aquí hay una clase de prueba para un ejemplo de composición en Java que usa un objeto persona y obtiene su salario.
package com.journaldev.composition;
public class TestPerson {
public static void main(String[] args) {
Person person = new Person();
long salary = person.getSalary();
}
}
Beneficios de la Composición en Java
Ten en cuenta que el programa de prueba anterior para la composición en Java no se ve afectado por ningún cambio en el objeto Job. Si estás buscando reutilización de código y la relación entre dos clases es tiene-un, entonces deberías usar composición en lugar de herencia. El beneficio de usar composición en Java es que podemos controlar la visibilidad de otros objetos para las clases cliente y reutilizar solo lo que necesitamos. Además, si hay algún cambio en la implementación de la otra clase, por ejemplo, getSalary
devolviendo una cadena, necesitamos cambiar la clase Person para adaptarla, pero las clases cliente no necesitan cambiar. La composición permite la creación de una clase de backend cuando sea necesario, por ejemplo, podemos cambiar el método getSalary
de la clase Person para inicializar el objeto Job en tiempo de ejecución cuando sea necesario. Lectura adicional: ¿Sabías que una de las mejores prácticas en la programación Java es usar composición en lugar de herencia? Consulta esta publicación para un análisis detallado de Composición vs Herencia.
Vídeo de YouTube sobre Composición en Java
Recientemente creé un video de YouTube para explicar la composición en Java en detalle, por favor míralo a continuación. https://www.youtube.com/watch?v=VfTiLE3RZds Eso es todo sobre la composición en Java o un ejemplo de composición en Java. Espero que lo encuentres útil al tomar decisiones informadas al diseñar las clases de tu aplicación. Referencia: Página de Wikipedia
Source:
https://www.digitalocean.com/community/tutorials/composition-in-java-example