Herencia en Java



La herencia es una propiedad de algunos lenguajes de programación como Java que permite que un objeto sea creado a partir de otro existente, obteniendo características como atributos y métodos, lo que nos permite crear objetos derivados a partir de objetos bases.

La clase ya existente es llamada superclass, o clase base, o clase padre.

La clase nueva es llamada subclase, clase derivada, o clase hija.


Ejercicio 1:

package herencia;
import java.util.*;
import javax.swing.*;

public class Persona {

protected Scanner sc;
protected String nombre;
protected int edad;
public Persona() {
sc = new Scanner(System.in);
}
public void datosPersonales(){
nombre=JOptionPane.showInputDialog(null, "Ingrese el nombre: ");
        edad= Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la edad: "));
        
}
public void mostrarPersona(){
JOptionPane.showMessageDialog(null, "-----Datos empleado----- ");
JOptionPane.showMessageDialog(null, "Nombre:"+ nombre + "\n" + "Edad:"+ edad);
}
}
package herencia;
import javax.swing.JOptionPane;

public class Empleado extends Persona{
private String cargo;
private int sueldo;
public Empleado(){
JOptionPane.showMessageDialog(null, "Nuevo empleado");
}
public void cargoSueldo(){
cargo=JOptionPane.showInputDialog(null, "Introduzca su cargo en la empresa: ");
sueldo=Integer.parseInt(JOptionPane.showInputDialog(null, "Introduzca su sueldo mensual: "));
}
public void mostrarEmpleado(){
JOptionPane.showMessageDialog(null, "Cargo:"+ cargo+ "\n" + "Salario:"+ sueldo +" "+"pesos al mes");
}
public void rangoEdad(){
if(edad<18){
JOptionPane.showMessageDialog(null, "Es menor de edad el empleado");
}else{
JOptionPane.showMessageDialog(null, "Es mayor de edad el empleado");
}
}
}
package herencia;
import javax.swing.*;

public class Runner {

public static void main(String[] args) {
        Empleado empl1= new Empleado();
        empl1.datosPersonales();
        empl1.cargoSueldo();
        empl1.mostrarPersona();
        empl1.rangoEdad();
        empl1.mostrarEmpleado();
        Empleado empl2= new Empleado();
        empl2.datosPersonales();
        empl2.cargoSueldo();
        empl2.mostrarPersona();
        empl2.rangoEdad();
        empl2.mostrarEmpleado();
       
        
}

}