Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESCUELA DE INFORMÁTICA
MATERIA:
PROGRAMACIÓN III
TEMA:
JERARQUÍA Y HERENCIA
ESTUDIANTE:
PROFESOR:
DIEGO SANTIMATEO
AÑO LECTIVO
“
2006”
INTRODUCCIÓN
Este trabajo nos presenta una serie de conceptos básicos que nos sirven de
unos cuantos ejemplos para una compresión mas clara de cada uno estos
puntos.
PRIMERA FACE:
http://www.cica.es/formacion/JavaTut/Cap1/heren.html
http://es.wikipedia.org/wiki/Polimorfismo_en_programaci%C3%B3n_orientada_a_objetos
El concepto de polimorfismo se puede aplicar tanto a funciones como a tipos
de datos. Así nacen los conceptos de funciones polimórficas y tipos
polimórficos...se denomina polimorfismo a la capacidad que tienen objetos
de diferentes clases de responder al mismo mensaje...Clase Abstracta. La
ausencia de instancias específicas es su única particularidad, para todo lo
demás es como cualquier otra clase.
http://www.fi-b.unam.mx/pp/profesores/carlos/java/java_basico3_4.html
La herencia es un mecanismo que permite la definición de una clase a partir
de la definición de otra ya existente...En esta estructura jerárquica, cada
clase tiene sólo una clase padre. La clase padre de cualquier clase es
conocida como su superclase. La clase hija de una superclase es llamada
una subclase.
http://www.fi-b.unam.mx/pp/profesores/carlos/java/java_basico3_6.html
Los programadores pueden implementar superclases llamadas clases
abstractas que definen conductas "genéricas". Las superclases abstractas
definen, y pueden implementar parcialmente, la conducta pero gran parte de
la clase no está definida ni implementada.
http://www.fi-b.unam.mx/pp/profesores/carlos/java/java_basico4_6.html
http://www.dcp.com.ar/poo/poop3.htm#jerarquia
Hay situaciones en las que se necesita definir una clase que represente un
concepto abstracto, y por lo tanto no se pueda proporcionar una
implementación completa de algunos de sus métodos.
http://www.programacion.com/java/tutorial/intjava/9/
http://www.arrakis.es/~abelp/ApuntesJava/ClasesIV.htm
Una misma clase puede tener varios métodos con el mismo nombre siempre
que se diferencien en el tipo o número de los argurmentos. Cuando esto
sucede se dice que el método está sobrecargado.
SEGUNDA FACE:
GLOSARIO
SUBCLASE: Una subclase es una clase que desciende de otra clase. Una
subclase hereda el estado y el comportamiento de todos sus ancestros. El
término superclase se refiere a la clase que es el ancestro más directo, así
como a todas las clases ascendentes.
TERCERA FACE:
int j=5;
obj.Suma_a_i( j );
int i =0;
i = i + ( j/2 );
System.out.println(i);
}
En este ejemplo podemos observar claramente como la clase MiNuevaClase
se convierte en la superclase de la clase MiClase , ahora MiClase es una
subclase de MiNuevaClase y todo esto ocurre usando la función extends ; en
este ejemplo tambien podemos observar lo que es la herencia ya que
MiClase esta heredando todo lo que contiene MiNuevaClase.
void elnegro()
int x1,y1;
this.x1=x1;
this.y1=y1;
int c=this.x1+this.y1;
System.out.println(c);
int a=5,b=2;
MiClase obj=new MiClase();
obj.drawLine(a,b);
obj.elnegro();
}
En este ejemplo podemos observar a la clase Graphics que es de tipo
abstracta ya que esta no tiene ninguna instancia especifica, pero a su vez es
una superclase abstracta de la clase MiClase ya que esta esta heredando
todo lo que contiene la clase Graphics.
EJEMPLO DE POLIMORFISMO
import java.util.*;
class Instrumento {
System.out.println("Instrumento.tocar()");
return "Instrumento";
System.out.println("Guitarra.tocar()");
}
System.out.println("Piano.tocar()");
System.out.println("Saxofon.tocar()");
// Un tipo de Guitarra
System.out.println("Guzla.tocar()");
System.out.println("Guzla.afinar()");
// Un tipo de Guitarra
System.out.println("Ukelele.tocar()");
class Musica {
// ...
i.tocar();
}
afinar(e[i]);
int i = 0;
afinarTodo(orquesta);
$ java Musica
Guitarra.tocar()
Piano.tocar()
Saxofon.tocar()
Guzla.tocar()
Ukelele.tocar()
EJEMPLO DE SOBRECARGA
/* ProgUsuario4.java */
class ProgUsuario4
Usuario4 usr1,usr2;
prog.imprimeUsuario(usr2);
usr1.setEdad(50);
usr2.setEdad(30.45f);
prog.imprimeUsuario(usr1);
prog.imprimeUsuario(usr2);
CUARTA FASE:
class empresa
this.Dat=datos;
public empresa()
return(Sa);
}
public abstract class Empleados
obj.codigoEm();
String pa=obj1.codigoEm(nombre);
obj.edad();
obj.salario();
String salario="1000";
APLICACIÓN UML
class empresa
public empresa(String )
public empresa()
public String codigoEm(String datos)
public void codigoEm()
todavía tuviera ignorando todos estos conceptos q son de gran utilidad para
la programación.