¿Qué es la herencia de Java?

Cuando se trata de Java, la herencia se puede usar cuando una clase desea heredar las características de otra clase existente. La clase que generalmente desea utilizar la característica de otra clase se conoce como la subclase, mientras que la clase cuyas características deben usarse se conoce como la superclase.

En realidad, en Java, todas las clases deben derivarse de alguna clase. Eso lleva a la pregunta "¿Dónde comenzará todo?" La clase más alta, la clase de la que derivan otras clases, es una clase Object descrita en java.lang. El objeto es una raíz de una estructura de clases.

La siguiente figura muestra esos dos tipos de clases:

La subclase sigue la condición y el comportamiento, como las variables y los métodos de la superclase. La subclase puede usar solo los elementos heredados de la superclase, y también la subclase puede cambiar o anular esto. Por lo tanto, a medida que caes en la jerarquía, las clases se vuelven cada vez más específicas:

Heredar del objeto

Cada clase hereda directamente de la clase Object

En el diagrama de arriba

El mayorista de clase pública extiende el objeto (…… ..)

El minorista de clase pública extiende al Mayorista (…… ..)

Materia prima de clase pública (…………)

La palabra clave extend muestra la clase principal de la que generalmente se hereda la subclase y no se puede aplicar como identificadores

En la clase pública, Raw-Material no necesita ampliar la palabra clave, está accediendo directamente a la clase Object.

Definición de herencia de Java

Una subclase es una clase que proviene de otra clase. Una subclase sigue la condición y el comportamiento de todos sus antepasados. El concepto superclase identifica el antepasado directo de una clase y todas sus clases ascendentes.

Comprender la herencia de Java con un ejemplo

La herencia describe la relación es-una entre una Superclase y una Subclase. Extiende e implementa términos clave que prefieren expresar herencia en Java.

Existen diferentes tipos de herencia de Java como se detalla a continuación.

  1. Herencia única
  2. Herencia Multinivel
  3. Herencia jerárquica
  4. Herencia múltiple
  5. Herencia Híbrida

  • Herencia única

Si una clase extiende una clase adicional, dicha forma de herencia se llama herencia de un solo nivel.

public class A (
………..
)
public class B extends A (
………..
)

La clase B ha ampliado la clase A y, por lo tanto, la clase B utiliza el método displayA () de la clase A porque es un método propio.

  • Herencia multinivel

Si una clase extiende una clase adicional, que puede ampliarse simplemente con una clase adicional, dicha forma de herencia se llama herencia multinivel.

public class A ( ……………… )
public class B extends A ( ……………… )
public class C extends B ( ……………… )

Salida

La clase A se extiende simplemente por la clase B y luego la clase B se extiende por sí misma por la clase C, que proporciona a la clase C un acceso directo al método displayA () y displayB () de la clase A y también B simplemente llegando a estos un objeto de clase C (sin tener que generar objetos de clase A y B).

  • Herencia jerárquica

Cuando un par de clases heredan la misma clase, esto se conoce como herencia jerárquica. Por ejemplo, las clases B y C extienden la misma clase A.

public class A ( ……………… )
public class B extends A ( ……………… )
public class C extends A ( ……………… )

Si una clase tiene más de una clase secundaria (subclases), así como básicamente más de una clase secundaria, tiene una clase primaria similar, entonces simplemente ese tipo de herencia se llama herencia jerárquica.

Estamos escribiendo un código donde las clases B y C extienden la clase A

  • Herencia múltiple

La sintaxis para la herencia múltiple

public class A ( ……………… )
public class B extends A ( ……………… )
public class D extends A, B, C ( ……………….. )

Nota: La herencia múltiple no es compatible con Java.

Java no admitiría múltiples herencias. Esto se debe a que las herencias múltiples causan ambigüedad y, por lo tanto, Java no la usa. La cuestión del diamante ayuda a comprender este escenario.

Sin embargo, se pueden lograr múltiples herencias en Java mediante el uso de interfaces. Independientemente de si hay muchas cantidades de interfaces en una clase con un método exacto, no hay ninguna indicación de ambigüedad ya que los métodos dentro de una interfaz a menudo son abstractos.

La otra forma es usar interfaces. Las interfaces comenzarán a ser importantes.

Una interfaz especifica la forma de sus métodos pero no proporciona detalles de implementación; por lo tanto, puedes pensarlo como la declaración de una clase.

puede crear la interfaz con la palabra clave de interfaz:

interface C
(
…………………………
)
interface b
(
…………………….
)
class a implements b, c
(
………………………
)

Podemos usar estas dos interfaces con la palabra clave implements:

  • Herencia Híbrida

La herencia híbrida es principalmente una mezcla de más de un tipo de herencia. Tal como cuando las clases A y B extienden la clase C Plus, otra clase D extiende la clase A después de esto, esto puede ser una herencia híbrida, ya que es la variedad de la herencia única y jerárquica.

Salida

Detener la herencia con la palabra clave final

Puede evitar que la clase sea una subclase declarando la final de toda la clase como se muestra a continuación

final class animal
(
public void breathe()
(
System.out.println("Breathing…");
)
)
class dog extends animal
(
public void breathe()
(
System.out.println("Barking…");
)
)
public class history
(
public static void main(String() args)
(
System.out.println("Creating an animal…");
animal a = new animal();
a.breathe();
System.out.println();
System.out.println("Creating an bulldog…");
dog d = new dog();
d.breathe();
)
)

Si intentas ejecutar este código:

No se pueden subclasificar las clases finales: la clase animal clase perro extiende el error animal 1 generado.

Crear constantes con la palabra clave final

Para evitar la anulación de métodos y para evitar la subclasificación. Hay otro uso para final en Java, puede usarlo para declarar constantes.

Según el siguiente código:

public class history
(
Public static void main(String() args)
(
final int a = 4;
a = 5;
)
)

Si intentas ejecutar este código:

No se puede asignar un valor a una variable final: se generó un error 1

Principales empresas de herencia Java

  1. Intel
  2. VM VM
  3. Adobe
  4. Nvidia
  5. Amazonas
  6. Cisco
  7. Akamai
  8. Electrónica Philips.
  9. IBM
  10. SAVIA

Ventajas de la herencia de Java

Considerada como una de las principales características de la herencia, se utiliza para disminuir la cantidad de código duplicado en un formulario de solicitud al compartir código ordinario entre muchas subclases. Cuando se puede obtener un código igual en dos clases relacionadas, la jerarquía normalmente se puede refactorizar para transferir el código ordinario a una superclase mutua. Esto dará como resultado una organización superior del código, así como unidades de compilación más fáciles y de menor tamaño.

  • Herencia : puede crear código de aplicación mucho más adaptable para modificar simplemente porque las clases que heredan de una superclase estándar se pueden usar indistintamente. Cuando el tipo de retorno de un procedimiento es la superclase.
  • Reusabilidad : capacidad de administrar métodos públicos de una clase base sin reescribir los similares.
  • Extensibilidad : extiende la lógica de la clase base de acuerdo con la lógica de negocios de la clase derivada.
  • Ocultación de datos : la clase base puede querer mantener algunos datos privados, por lo que nunca es modificada por la clase derivada.
  • Anulación: con la herencia, podemos lograr anular los métodos de la clase base para que la implementación importante del método de la clase base se pueda completar en la clase derivada.

¿Por qué deberíamos usar la herencia de Java?

La herencia es un concepto de programación efectivo, pero puede ser simple de usar de manera inapropiada. Por lo general, las interfaces son efectivas más eficientes.

La herencia es la mejor opción cuando:

  • Su jerarquía de herencia significa una relación "es-a", pero no una relación "tiene-a".
  • Puede reutilizar el código de las clases base.
  • Es posible que deba aplicar la clase y las formas similares a distintos tipos de datos.
  • La jerarquía de clases es bastante superficial, junto con otros desarrolladores que realmente no deben contribuir con muchas más fases.
  • Desea crear variaciones globales a las clases derivadas modificando una clase base.

¿Por qué necesitamos herencia Java?

Java Inheritance es un concepto OOP (programación orientada a objetos). El objetivo principal de la herencia es crear siempre una cierta parte del código de su proyecto reutilizable con la posibilidad de agregar o eliminar características seleccionadas después. Una clase secundaria podría heredar o anular los métodos seleccionados de la clase primaria que heredó; son los métodos desde sin intercambiar la clase padre de sí mismo. Esto posiblemente puede incluir sus propios métodos nuevos que generalmente no se encuentran en la clase secundaria.

  • Encapsulación: cuando involucramos algunos atributos regulares, luego los encapsulamos en una clase principal y simplemente proporcionamos atributos particulares a las clases secundarias.
  • Polimorfismo : podríamos utilizar el polimorfismo con herencia en Java. Para garantizar de acuerdo con la forma de la clase Child, la clase exacta actúa de manera diferente.
  • Reutilización del código : la aplicación de herencia puede ser útil para reutilizar el código.
  • Eficiencia : puede ser efectivo aplicar Herencia al escribir código. Esto podría aumentar la velocidad de la tarea.

Al igual que en la vida real, un niño podría heredar características seleccionadas de sus padres y, a través de variaciones ambientales seleccionadas, desarrollar nuevas características o eliminar características que obtuvo de sus padres.

¿Quién es el público adecuado para aprender las tecnologías de herencia Java?

Al pensar en lo que se debe hacer con Java Inheritance, varios desarrolladores piensan en construir:

Desarrollador de Android -

Android es el sistema operativo móvil más efectivo en el competitivo mercado actual con más de 1.5 millones de dispositivos nuevos activados por día. La capacitación en Android le ofrece experiencia práctica en la creación y construcción de aplicaciones de Android fáciles y complejas, lo que le garantiza la habilidad para adquirir el trabajo de TI de sus sueños. Podrías tener una excelente historia en programación, pero el entrenamiento de Android te beneficiará para mejorar tus habilidades.

Android definitivamente está creciendo, así que cuando aprendes los principios fundamentales y las características, tu conjunto de habilidades crecerá correctamente además de eso. Los desarrolladores pueden crear juegos y aplicaciones para usuarios de Android y difundirlos en un mundo abierto. La capacitación en Android es uno de los hechos más inteligentes que un desarrollador puede lograr, por lo que tiene muchos beneficios.

Desarrollador IoT -

En la actualidad, puedes escuchar bastante sobre Internet de las cosas (IoT). El IoT está en todas partes, desde sensores en una enorme maquinaria industrial en dispositivos inteligentes como cámaras de seguridad digitales. Básicamente, ¿sabía que el popular termostato Nest dependerá de una combinación notable de Java e IA? Algunas máquinas expendedoras inteligentes dependen de Java, y trabajan con software para rastrear el inventario, la temperatura, la humedad y la región. Además, varias aplicaciones de tecnología portátil están diseñadas en herencia Java.

Análisis de Big Data

Hoy en día, el análisis de big data es el núcleo de uno de los usos más interesantes de la tecnología. Los estudios de investigación en varias industrias clave están aplicando técnicas innovadoras de análisis de datos para aprender nuevos patrones en grandes volúmenes de datos y también para comprender mejor los procesos complejos.

Sistemas embebidos -

Los sistemas integrados, que comienzan desde pequeños chips hasta computadoras especializadas, son en realidad componentes de dispositivos electromecánicos más grandes que ejecutan tareas comprometidas. Muchos dispositivos, como las tarjetas SIM, los reproductores de disco de rayos azules, los medidores de servicios públicos y los televisores, utilizan soluciones Java integradas. Según Oracle, Java utiliza el 100% de los reproductores de discos Blu-ray y 125 millones de dispositivos de televisión.

¿Cómo te ayudará esta tecnología en el crecimiento profesional?

Java es uno de los lenguajes de programación más destacados y esencialmente utilizados en el mundo de la tecnología de la información. Java es, además, un lenguaje de programación fundamental que un principiante también puede aprender fácilmente. Según el informe de Oracle Java, se ejecuta en más de 3 mil millones de dispositivos …!

Java es un lenguaje de programación imperecedero. Casi todas las empresas conocidas, incluidas IBM, Infosys, CTS y TCS, están aplicando Java como su lenguaje de programación ideal.

Hoy, los desarrolladores Java de Trend existentes con los que pueden jugar se enumeran a continuación,

  1. Java con Selenium Automation Tester
  2. Java con DevOps
  3. Java con desarrollo Hadoop

Conclusión

La herencia es un arma poderosa de Java que puede ayudar a tener éxito en el lenguaje más adecuado. Puede ayudar a minimizar la duplicación de código y reduce los errores. Con el código establecido en la clase principal, ya no puede preferir escribir código similar para muchas clases secundarias con las mismas características. Por lo tanto, la herencia en Java ejecuta la reutilización del código para que sea más fácil acceder a los usuarios finales.

Artículos recomendados

Esta ha sido una guía de Qué es la herencia de Java. Aquí discutimos el concepto básico, las habilidades requeridas, el crecimiento profesional y las ventajas de la herencia de Java. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. ¿Qué es la inteligencia artificial?
  2. ¿Qué es JavaScript?
  3. ¿Qué es el HTML?
  4. ¿Qué es el azul?
  5. Palabra clave final en Java