Saltar al contenido

Legacy en Java OPW con ejemplo

¿Qué es el patrimonio?

Herencia es un mecanismo en el que una clase adquiere la propiedad de otra clase. Por ejemplo, un niño hereda las características de sus padres. Con la herencia, podemos reutilizar áreas y métodos de aula existentes. Como tal, el patrimonio facilita la reutilización y es un concepto importante de los OPW.

En este tutorial, aprenderá:

Tipos de patrimonio

Hay diferentes tipos de legado en Java:

Legado individual:

En la herencia individual, una clase se extiende a otra clase (una clase).

Legado individual

En el diagrama anterior, la Clase B se extiende solo a la Clase A. La Clase A es una clase excelente y la Clase B es una subclase.

Legado múltiple:

En Multiple Legacy, una clase se extiende a más de una clase. Java no admite herencia múltiple.

Herencia múltiple

Según el diagrama anterior, la Clase C se extiende tanto a la Clase A como a la Clase B.

Legado multinivel:

En Herencia multinivel, una clase puede heredar de una clase derivada. En consecuencia, la clase derivada se convierte en la clase elemental de la nueva clase.

Legado multinivel

Como se muestra en el diagrama, la Clase C es la subclase B y la Clase B es la subclase B.

Herencia jerárquica:

En la herencia jerárquica, muchas subclases heredan una clase.

Herencia jerárquica

Como anteriormente, las clases B, C y D son heredadas por la misma clase A.

Legado híbrido:

La herencia híbrida es una combinación de herencia única y múltiple.

Legado híbrido

Como se indicó anteriormente, todos los miembros públicos y protegidos de Clase A se heredan, en primer lugar a través de la Clase B y, en segundo lugar, a través de la Clase C.

Nota: Java no es compatible con el legado híbrido / múltiple

Legado en Java

INVERSIÓN JAVA es un mecanismo en el que una clase adquiere la propiedad de otra clase. En Java, cuando hay una relación «Es-A» entre dos clases, usamos Herencia. La clase padre se llama superclase y la clase de herencia se llama subclase. La palabra clave extends utilizado por la subclase para heredar características de superclase.

La herencia es importante porque reutiliza el código como resultado.

Sintaxis de Java Heritage:


class subClass extends superClass  
{  
   //methods and fields  
}  

Ejemplo de herencia de Java


class Doctor {
 void Doctor_Details() {
  System.out.println("Doctor Details...");
 }
}

class Surgeon extends Doctor {
 void Surgeon_Details() {
  System.out.println("Surgen Detail...");
 }
}

public class Hospital {
 public static void main(String args[]) {
  Surgeon s = new Surgeon();
  s.Doctor_Details();
  s.Surgeon_Details();
 }
}

Súper palabra clave

La súper palabra clave es similar a la palabra clave «esto».

La palabra clave se puede utilizar para acceder a cualquier miembro de datos o métodos de la clase principal.

Super palabra clave se puede utilizar a nivel variable, método y constructor.

Sintaxis:


super.<method-name>();

Aprendizaje heredado en OPW con ejemplo

Considere la misma aplicación bancaria del ejemplo anterior.

Vamos a abrir dos tipos de cuentas diferentes, una para guardar y otra para verificar (también conocida como actual).

Comparemos y estudiemos cómo podemos abordar la codificación desde un una perspectiva de programación estructurada y orientada a objetos. Un enfoque estructurado: En la programación estructurada, crearemos dos funciones:

  1. Uno para retirar
  2. Y el otro para actividad de depósito.

Dado que el funcionamiento de estas funciones sigue siendo el mismo en todas las cuentas.

Enfoque OPW: Usando el enfoque de registro OPW. Creemos dos clases.

  • Todos ellos realizando las funciones de depósito y retiro.
  • Esto hará que el trabajo adicional sea redundante.

Solicitud de cambio de software

Ahora la especificación de requisitos ha cambiado para algo que es tan común en la industria del software. Tiene la intención de colocar una Cuenta Bancaria funcionalmente privilegiada con un Servicio de Sobregiro. Por antecedentes, un sobregiro es una facilidad en la que puede retirar una cantidad mayor que el saldo disponible en su cuenta.

Enfoque estructurado: Utilizando un enfoque funcional, tengo que modificar mi función de retiro, que ya se ha probado y se ha establecido como referencia. Y agregue al método como se indica a continuación, se atenderán los nuevos requisitos.

Enfoque OPW: Usando el enfoque OPW, todo lo que tiene que hacer es escribir una nueva clase para implementar una función de retiro única. Nunca tocamos el fragmento de código que se probó.

Solicitud de otro cambio

¿Qué pasa si la necesidad cambia más? Como agregar una cuenta de tarjeta de crédito a su propio requisito único de depósitos.

Enfoque estructurado: Con el enfoque estructurado, deberá volver a cambiar una parte del código de caché probado.

Enfoque OPW: Pero utilizando un enfoque orientado a objetos, solo creará una nueva clase para su aplicación única del modo de caché (resaltada en rojo en la imagen a continuación).

Entonces, si bien la programación estructural puede parecer un enfoque fácil al principio, OPW ha ganado a largo plazo.

Ventaja heredada en OPW

Pero se podría argumentar que tiene piezas de código repetidas en cada clase.

Para superar eso, crea una clase principal, dice «cuenta» e implementa la misma función en depósito y retiro. Y haga de las clases de «cuenta» un legado para las clases de niños. Para que tengan acceso a las funciones de retiro y depósito en la clase de cuentas.

No es necesario que las funciones se implementen solas. Esto es Legado en java. .

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *