UNIVERSIDAD ISRAEL
CIENCIAS DE LA INGENIERÍA
CARRERA DE SISTEMAS DE INFORMACIÓN
PROGRAMACIÓN 2
SEMESTRE 2021 B
LABORATORIO S3
TEMA: Herencia en Java
PROFESOR: Mg. Luis Fernando Aguas Bucheli
QUITO, 2021
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
1. TEMA: Herencia en Java
2. OBJETIVOS:
• Adquirir los conceptos básicos relacionados con la POO
• Reconocer las características de la POO
3. OBJETIVOS DE DESARROLLO SOSTENIBLE:
Indicador 4.7: De aquí a 2030, asegurar que todos los alumnos adquieran los conocimientos
teóricos y prácticos necesarios para promover el desarrollo sostenible, entre otras cosas
mediante la educación para el desarrollo sostenible y los estilos de vida sostenibles, los derechos
humanos, la igualdad de género, la promoción de una cultura de paz y no violencia, la ciudadanía
mundial y la valoración de la diversidad cultural y la contribución de la cultura al desarrollo
sostenible
4. INTRODUCCION:
La herencia es un pilar importante de OOP (Programación Orientada a Objetos). Es el
mecanismo en Java por el cual una clase permite heredar las características (atributos y
métodos) de otra clase. Aprenda más a continuación.
En el lenguaje de Java, una clase que se hereda se denomina superclase. La clase que hereda
se llama subclase. Por lo tanto, una subclase es una versión especializada de una superclase.
Hereda todas las variables y métodos definidos por la superclase y agrega sus propios
elementos únicos.
Terminología importante
Superclase: la clase cuyas características se heredan se conoce como superclase (o una clase
base o una clase principal).
Subclase: la clase que hereda la otra clase se conoce como subclase (o una clase derivada,
clase extendida o clase hija). La subclase puede agregar sus propios campos y métodos además
de los campos y métodos de la superclase.
Reutilización: la herencia respalda el concepto de “reutilización”, es decir, cuando queremos
crear una clase nueva y ya hay una clase que incluye parte del código que queremos, podemos
Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
derivar nuestra nueva clase de la clase existente. Al hacer esto, estamos reutilizando los
campos/atributos y métodos de la clase existente.
5. DESARROLLO:
• Ingresamos a Netbeans
• Creamos un nuevo proyecto:
Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
• Colocamos como nombre
Damos clic en finalizar
Damos clic en el botón derecho del paquete y añadimos una nueva clase con el nombre:
Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Colocamos el siguiente nombre y luego damos clic en finalizar
En la clase colocamos lo siguiente:
public class Persona{
protected String nombre;
Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
protected char genero;
protected int edad;
protected String direccion;
public Persona(){
public Persona(String nombre){
this.nombre = nombre;
}
public Persona(String nombre, char genero, int edad, String direccion) {
this.nombre = nombre;
this.genero = genero;
this.edad = edad;
this.direccion = direccion;
}
public String getDireccion() {
return this.direccion;
}
public void setDireccion(String direccion) {
this.direccion = direccion;
}
public String getNombre() {
return this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public char getGenero() {
return this.genero;
}
public void setGenero(char genero) {
this.genero = genero;
}
public int getEdad() {
return this.edad;
}
public void setEdad(int edad) {
Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
this.edad = edad;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Persona{nombre=").append(nombre);
sb.append(", genero=").append(genero);
sb.append(", edad=").append(edad);
sb.append(", direccion=").append(direccion);
sb.append(", ").append(super.toString());
sb.append('}');
return sb.toString();
}
}
Teniendo:
Damos clic en el botón derecho del paquete y añadimos una nueva clase con el nombre:
Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Colocamos el siguiente código:
public class Empleado extends Persona{
private int idEmpleado;
private double sueldo;
private static int contadorEmpleado;
public Empleado(String nombre, double sueldo) {
super(nombre);
this.idEmpleado = ++Empleado.contadorEmpleado;
this.sueldo = sueldo;
}
public int getIdEmpleado() {
return this.idEmpleado;
}
public double getSueldo() {
return sueldo;
}
public void setSueldo(double sueldo) {
this.sueldo = sueldo;
}
Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Empleado{idEmpleado=").append(this.idEmpleado);
sb.append(", sueldo=").append(this.sueldo);
sb.append(", ").append(super.toString());
sb.append('}');
return sb.toString();
}
Teniendo:
Damos clic en el botón derecho del paquete y añadimos una nueva clase con el nombre de
Cliente
Colocamos este código
import java.util.Date;
public class Cliente extends Persona{
private int idCliente;
private Date fechaRegistro;
private boolean vip;
private static int contadorCliente;
public Cliente(Date fechaRegistro, boolean vip, String nombre,
char genero, int edad, String direccion){
Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
super(nombre, genero, edad, direccion);
this.idCliente = ++Cliente.contadorCliente;
this.fechaRegistro = fechaRegistro;
this.vip = vip;
}
public int getIdCliente() {
return idCliente;
}
public Date getFechaRegistro() {
return fechaRegistro;
}
public void setFechaRegistro(Date fechaRegistro) {
this.fechaRegistro = fechaRegistro;
}
public boolean isVip() {
return vip;
}
public void setVip(boolean vip) {
this.vip = vip;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Cliente{idCliente=").append(idCliente);
sb.append(", fechaRegistro=").append(fechaRegistro);
sb.append(", vip=").append(vip);
sb.append(", ").append(super.toString());
sb.append('}');
return sb.toString();
}
}
Teniendo:
Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Seleccionamos la clase:
Colocamos el siguiente código:
import java.util.*;
public class HerenciaS32021B {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Ciencias de la Ingeniería
Universidad Israel
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Empleado empleado1 = new Empleado("Juan", 5000.0);
System.out.println("empleado1 = " + empleado1);
Cliente cliente1 = new Cliente(new Date(), true, "Karla", 'F', 28, "Saturno 15");
System.out.println("cliente1 = " + cliente1);
}
Teniendo:
Compilamos y ejecutamos:
6. BIBLIOGRAFIA:
Ciencias de la Ingeniería