Hacer referencia a objetos de subclase con referencia de subclase frente a superclase

Requisito previo: herencia En Java, todos los métodos no estáticos se basan en el tipo de tiempo de ejecución del objeto subyacente en lugar del tipo de referencia que apunta a ese objeto. Por lo tanto, no importa qué tipo use en la declaración del objeto, el comportamiento será el mismo. Cómo referir un objeto … Continue reading «Hacer referencia a objetos de subclase con referencia de subclase frente a superclase»

Vaya | Generalización como extensión y restricción usando Java

La generalización es el proceso de extraer propiedades y funcionalidades comunes de dos o más clases y combinarlas en otra clase que actúa como la clase principal de esas clases o, lo que podemos decir, la clase generalizada de esas clases especializadas. Todas las subclases son un tipo de superclase. Entonces podemos decir que la … Continue reading «Vaya | Generalización como extensión y restricción usando Java»

Java | Herencia | Pregunta 5

Salida del siguiente programa Java? class Base {     public void Print() {         System.out.println(«Base»);     }          }    class Derived extends Base {         public void Print() {         System.out.println(«Derived»);     } }    class Main{     public static void DoPrint( Base o ) {         o.Print();        }     public static void main(String[] args) {         Base x = new Base();         Base y = … Continue reading «Java | Herencia | Pregunta 5»

Asociación, Composición y Agregación en Java

La asociación es una relación entre dos clases separadas que se establece a través de sus Objetos. La asociación puede ser de uno a uno, de uno a muchos, de muchos a uno, de muchos a muchos. En la programación orientada a objetos, un objeto se comunica con otro objeto para usar la funcionalidad y … Continue reading «Asociación, Composición y Agregación en Java»

Anulando métodos de diferentes paquetes en Java

Requisito previo: anulando en Java , los paquetes en Java proporcionan más capas de encapsulación para las clases. Por lo tanto, la visibilidad de un método en diferentes paquetes es diferente a la del mismo paquete. ¿Cómo JVM encuentra qué método llamar? Cuando ejecutamos un programa Java, JVM comprueba la clase de tiempo de ejecución … Continue reading «Anulando métodos de diferentes paquetes en Java»

Java | Herencia | Pregunta 2

class Base {     final public void show() {        System.out.println(«Base::show() called»);     } }     class Derived extends Base {     public void show() {        System.out.println(«Derived::show() called»);     } }     class Main {     public static void main(String[] args) {         Base b = new Derived();;         b.show();     } } (A) Base::show() llamado (B) Derivado::show() llamado (C) Error del compilador (D) … Continue reading «Java | Herencia | Pregunta 2»

Despacho de método dinámico o polimorfismo en tiempo de ejecución en Java

Requisito previo: anular en java , herencia La anulación de métodos es una de las formas en que Java admite el polimorfismo en tiempo de ejecución. El envío de métodos dinámicos es el mecanismo por el cual una llamada a un método anulado se resuelve en tiempo de ejecución, en lugar de en tiempo de … Continue reading «Despacho de método dinámico o polimorfismo en tiempo de ejecución en Java»

Interfaces y Herencia en Java

Prerrequisitos: Interfaces en Java , Java y Herencia Múltiple Una clase puede extender otra clase y/o puede implementar una y más de una interfaz. // Java program to demonstrate that a class can // implement multiple interfaces import java.io.*; interface intfA {     void m1(); }    interface intfB {     void m2(); }    // class … Continue reading «Interfaces y Herencia en Java»

Java | Herencia | Pregunta 8

Predecir la salida del siguiente programa Java // filename Main.java class Grandparent {     public void Print() {         System.out.println(«Grandparent’s Print()»);     } }     class Parent extends Grandparent {     public void Print() {         System.out.println(«Parent’s Print()»);     } }     class Child extends Parent {     public void Print() {         super.super.Print();          System.out.println(«Child’s Print()»);     } }     public class Main { … Continue reading «Java | Herencia | Pregunta 8»