Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ok HERENCIA01
Ok HERENCIA01
HERENCIA
PROGRAMACION III
CONCEPTO Y JUSTIFICACIÓN DE LA
HERENCIA
◻ La clase que hereda se denomina subclase o clase
derivada.
◻ La clase de la cual se hereda se denomina superclase
o clase base.
Concepto y justificación de la
herencia
GENERALIZACION ESPECIALIZACION
◻ Clase persona
public class Persona {
String nombre = "";
int edad;
public Persona(String nom, int ed) {
nombre = nom;
edad = ed;
}
public void mostrar() { System.out.println("Nombre: "+ nombre);
System.out.println("Edad: "+ edad);
}
public static void main(String args[]) {
Persona yo= new Persona("Balta", 99);
yo.mostrar(); } }
La sintaxis que indica la herencia en JAVA
◻ Clase trabajador
public class Trabajador extends Persona {
float sueldoHora;
int numHoras;
public Trabajador(String nom, int ed, float suel, int num) { super(nom,
ed); // llamada al constructor de Persona
sueldoHora = suel;
numHoras = num;}
public double sueldo() {
return sueldoHora * numHoras; }
Trabajador yo= new Trabajador("Balta", 99, 200.5f, 45);
yo.mostrar(); // se invoca al método heredado mostrar
double pelas = yo.sueldo();
System.out.println("Cobra: " + pelas); }
}
Herencia y Reglas de Acceso
◻ Existen cuatro posibles visibilidades de atributos ymétodos:
❖ De más restrictivo a menos:
❖ private
visible sólo en la clase donde se define.
❖ Sin modificador (por defecto)
visible a las clases del paquete.
❖ protected
visible a las subclases y al resto de clases del paquete.
❖ public
visible a todas las clases.
Herencia y Reglas de Acceso
class Vuelo {
char nombre[30]; // private (por defecto)
int capacidad; // private (por defecto)
private:
float peso; // private
protected:
void carga(&operacion}; // protected
public:
void despegue(&operacion}; // public
void crucero(&operacion); // public
char* getName(); // obtener el nombre del vuelo
};
Evitando la herencia
◻ Se puede evitar que una clase sea heredada:
package nombrePaquete;
Constructores y destructores
◻ Constructor es un:
❖ Método que inicializa el objeto en su creación.
❖ Se llama automáticamente cuando se crea un
objeto.
❖ Su nombre es igual que el de la clase y no tiene
tipo de retorno.
❖ Java proporciona un constructor sin parámetros por
defecto que deja de estar disponible cuando se
añade algún constructor.
Constructores y destructores
◻ Destructor es un:
✔ Es un método perteneciente a una clase que es
ejecutado de forma automática cuando un objeto es
destruido. Java no soporta los destructores.
Constructores y destructores en
herencia
◻ En principio se hereda todo menos:
✔ Constructor y destructor