La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. La herencia permite compartir automáticamente métodos y datos entre clases, subclases y objetos.
La herencia está fuertemente ligada a la reutilización del código en la OOP. Esto es, el código de cualquiera de las clases puede ser utilizado sin más que crear una clase derivada de ella, o bien una subclase.
Hay dos tipos de herencia: Herencia Simple y Herencia Múltiple. La primera indica que se pueden definir nuevas clases solamente a partir de una clase inicial mientras que la segunda indica que se pueden definir nuevas clases a partir de dos o más clases iniciales.
Mapa conceptual:
CÓDIGO:
Clase Padre Base Alumno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
public class Alumno {
public String getNombre() {
return nombre;
}
public String getClases() {
return clases;
}
public String getGrado() {
return grado;
}
public String getGrupo() {
return grupo;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setClases(String clases) {
this.clases = clases;
}
public void setGrado(String grado) {
this.grado = grado;
}
public void setGrupo(String grupo) {
this.grupo = grupo;
}
private String nombre;
private String clases;
private String grado;
private String grupo;
protected void ir_a_clase(){
}
protected void estudiar(){
}
}
|
Clase Hija Alumno Regular:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class Regular extends Alumno{
public Regular(){
}
protected void pagar_inscripcion(){
}
protected void matricularse(){
}
}
|
Clase Hija Alumno Becario:
|
public class Becario extends Alumno{
public Becario(){
}
protected void pagar_inscripcion(){
}
}
|
Clase Hija Alumno Intercambio:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Intercambio extends Alumno{
public Intercambio(String nombre,String clases,String grado,String grupo){
super.setNombre(nombre);
super.setClases(clases);
super.setGrado(grado);
super.setGrupo(grupo);
}
protected void matricularse(){
}
}
|
Clase Principal Main:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class Main {
public static void main(String args[]){
Regular pepe = new Regular();
pepe.setNombre("Pepe");
pepe.setClases("Biologia,matematicas");
pepe.setGrado("2");
pepe.setGrupo("G");
pepe.ir_a_clase();
Intercambio luis = new Intercambio("Luis","Fisica,Ecologia","3","B");
luis.ir_a_clase();
luis.estudiar();
luis.matricularse();
}
}
|
No hay comentarios.:
Publicar un comentario