Todo lo que necesita saber tiene una relación en Java



Este artículo le proporcionará un conocimiento detallado y completo de Tiene una relación en Java y sus diversos usos.

Tiene una relación en e Is a Relationship son dos de los términos más confusos. En este artículo, nos centraremos en los siguientes parámetros:

tiene un vs es un java

Introducción a tiene una relación en Java

Tiene una relación en Java que se conoce como Composición. Se utiliza para la reutilización del código. Básicamente, significa que una instancia de una clase tiene una referencia a la instancia de otra clase o la otra instancia de la misma clase. Esta relación ayuda a minimizar la duplicación de código y los errores.





Una composición es una forma de asociación. La asociación se conoce como la relación entre dos clases separadas que están autorizadas a través de sus objetos. La asociación puede tener la forma:

  1. Doce y cincuenta y nueve de la noche



  2. Uno a muchos

  3. Muchos a uno

  4. Muchos a muchos



En OOP (Programación Orientada a Objetos), Object se comunica con otro objeto para utilizar todos los servicios y las funcionalidades provistas por ese objeto.

Asociación

A continuación se muestra un ejemplo de la implementación de la Asociación.

import java.io. * class Bank {private String name Bank (String name) {this.name = name} public String getBankName () {return this.name}} class Employee {private String name Employee (string name) {this. name = name} public String getEmployeeName () {return this.name}} class Association {public static void main (String [] args) {Bank b = new Bank ('Axis') Employee e = new Employee ('Himanshi') System.out.println (e.getEmployeeName () + 'es un empleado de' + b.getBankName ())}}

Salida:

has-a-relationship-in-java

Esta es la forma especial de asociación donde:

  1. Esto representa tiene una relación.

    que hace tostring en java
  2. Se conoce como una asociación unidireccional (una relación unidireccional). Por ejemplo, el departamento puede tener maestros pero viceversa no es cierto y, por lo tanto, de naturaleza unidireccional.

Ahora hablemos de Composición

La composición es la forma restringida en la que dos objetos dependen enormemente el uno del otro. Cuando existe composición entre las dos entidades, el compuesto no puede estar sin otra entidad.

Aquí está el ejemplo de la biblioteca para mostrar el concepto de composición.

import java.io. * import java.util. * class Libro {público Título de cadena público Autor de cadena Libro (título de cadena, autor de cadena) {this.title = título this.author = autor}} clase Biblioteca {privado final Lista de libros Biblioteca (Listar libros) {this.books = libros} public Lista getTotalBooksInLibrary () {devolver libros}} class edureka {public static void main (String [] args) {Book b2 = new Book ('Thinking Java', 'Brua E' ) Libro b3 = nuevo Libro ('Java: Referencia completa', 'Hierba S') Listar libros = nueva ArrayList () libros.add (b2) libros.add (b3) Biblioteca biblioteca = nueva Biblioteca (libros) Lista bks = biblioteca .getTotalBooksInLibrary () para (Libro bk: bks) {System.out.println ('Título:' + bk.title + 'y' + 'Autor:' + bk.author)}}}

Salida:

Una de las principales ventajas de OOPS es que podemos reutilizar el código. Hay dos formas en las que podemos reutilizar el código: una implementación deherencia o por la composición del objeto.

Comparación de composición y herencia: relación

  • Es más fácil en la composición cambiar la clase que en la herencia.

  • La herencia es el enlace estático mientras que la composición es el enlace dinámico.

  • La herencia de clases se define en el tiempo de compilación, mientras que la composición del objeto se define en el tiempo de ejecución.

  • En la composición de objetos, se supone que los detalles internos no se exponen entre sí e interactúan mediante sus interfaces públicas, mientras que, en la herencia, expone tanto al público como a los miembros protegidos de la clase base.

    creando una matriz de objetos
  • En Composición, el acceso se puede restringir mientras que en la composición de objetos no hay control de acceso.

  • En la herencia, rompe la encapsulación al exponer una subclase a los detalles de la implementación de su padre, mientras que en la composición de objetos, no rompe la encapsulación porque se accede a los objetos completamente a través de sus interfaces.

  • En Herencia, proporciona la reutilización del código mientras que, en Composición de Objetos, permite representar las asociaciones.

Ejemplo 1:

class Operación {int cuadrado (int n) {return n * n}} class Circle {Operación op // agregación doble pi = 3.14 área doble (int radio) {op = nueva Operación () int rsquare = op.square (radio) // reutilización del código (es decir, delega la llamada al método). return pi * rsquare} public static void main (String args []) {Circle c = new Circle () double result = c.area (5) System.out.println (result)}}

Salida:

Ejemplo 2:

class House {Kitchen k = new Kitchen () // más código para la clase de la casa} Class Kitchen {// código de la clase de cocina}

Si la casa se destruye, la cocina también se destruirá. Esto se conoce como la composición cuando dos entidades dependen una de la otra. La clase de referencia (Cocina) no podría existir sin la clase de contenedor (Casa).

Con esto, llegamos al final de este artículo Tiene una relación en Java. Básicamente, en composición, una clase puede reutilizar la funcionalidad de la clase creando una referencia al objeto de la clase que quiere reutilizar. Se lo conoce como el caso especial de agregación.

C diablos el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de certificación y capacitación Java J2EE y SOA de Edureka está diseñado para estudiantes y profesionales que desean ser desarrolladores de Java.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog 'Tiene una relación en Java' y nos comunicaremos con usted lo antes posible.