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();
}
}
