Академический Документы
Профессиональный Документы
Культура Документы
TRABAJO DE PROGRAMACIÓN
30%DE SEMESTRAL
PROFESOR
DIEGO SANTIMATEO
PERTENECE A:
ZULEYKA POVEDA SANTOS
9-724-1338
FECHA DE ENTREGA:
30/11/2006
1
TABLA DE CONTENIDO
TRABAJO DE PROGRAMACIÓN............................................................................................1
30%DE SEMESTRAL.............................................................................................................1
INTRODUCCIÓN...........................................................................................................................3
FUENTES DE INFORMACIÓN....................................................................................................4
GLOSARIO DE TÉRMINOS..........................................................................................................8
EJEMPLOS DE LOS CONCEPTOS ............................................................................................10
EJEMPLO DE HERENCIA:.....................................................................................................10
EJEMPLO DE POLIMORFISMO:...........................................................................................11
EJEMPLO DE CLASE ABSTRACTA:.....................................................................................12
EJEMPLO DE SOBRECARGA:...............................................................................................13
APLICACIÓN DE TODOS LOS CONCEPTOS APRENDIDOS................................................14
DESCRIPCIÓN DE LA APLICACIÓN EJECUTABLE..............................................................19
2
INTRODUCCIÓN
Por ultimo presento una aplicación donde se aplican todos los conceptos aprendidos, con
sus debidas especificaciones UML.
3
FUENTES DE INFORMACIÓN
Comentario:
En este tutorial se presenta una visión general del lenguaje de programación Java,
contiene un índice de contenido en el cual se encuentra la Herencia y Las Clases
Abstractas en lo que concierne a la Herencia presentan una breve explicación sobre
el mecanismo de la herencia, la importancia de al herencia, así como también
presenta algunos ejemplos prácticos que explican mejor lo que es la herencia. Y sobre
las Clases Abstractas presentan una breve explicación referente a las Clases
Abstractas y varios ejemplos para enriquecer el concepto.
comentario:
Esta pagina en su contenido presenta una guía rápida de aprendizaje del lenguaje Java, en
el contenido presentan una introducción a la programación orientada a objetos (Poo),
contiene una introducción al mecanismo Herencia y algunos ejemplos para enriquecer el
concepto de Herencia.
4
3. Antonio Bel Puchol. Apuntes Lenguaje Java. Ultima actualización ( 17-Junio-
2001) Disponible en Internet en:
<http://www.arrakis.es/~abelp/ApuntesJava/indice.htm>.[con acceso 08-11-2006]
Comentario:
Esta pagina contiene apuntes divididos en dos partes, la primera parte de estos apuntes
cubre todos los aspectos del lenguaje (Clases, Interfaces, herencia, control de flujo, tipos
de datos, etc.). La segunda parte, actualmente en elaboración, trata materias de la API de
Java, agrupándolos por temas (Entrada / salida, Threads, applets, etc.).
4. Laura González Partida , otros. (20 de Junio del 2001). Partida Paradigma de la
orientación a objetos: lenguaje java. Baja California Sur. Disponible en Internet
en: < http://www.itlp.edu.mx/posgrado/lengprog/java.html>. [con acceso 08-11-
2006].
Comentario:
Comentario:
Esta pagina esta contiene un temario que esta dividido en dos partes la primera es:
Análisis y diseño Orientado a objetos en UML y la segunda Programación Orientada A
Objetos con Java, la segunda contiene un extenso temario que entre estos puntos se
encuentra los conceptos de programación orientado a objetos como por ejemplo Clases y
objetos, Mensaje y métodos, Encapsulamiento, Herencia, Superclase y Subclases,
Polimorfismo, Abstracción
5
6. Moisés Burgos.(1999).Tutoriales. España. documento en línea en:
<http://members.tripod.com/~MoisesRBB/index.htm>[con acceso 07-11-2006].
Comentarios:
Esta pagina contiene tutoriales en línea, así como tutoriales que se pueden bajar e
imprimir para aprender sobre los temas de programación que en la pagina se encuentran
, Entre los temas se encuentra todo sobre Java explican muy bien la programación
orientada a objetos, también explican como se estructura un programa en Java. por fin es
una excelente pagina.
Comentario:
Esta es una pagina muy completa esta dividida en tres partes: Curso Interactivo de Física
en Internet, programación en lenguaje java y procedimientos numéricos en lenguaje java.
En cuando a la parte de programación en lenguaje java contiene aspectos fundamentales
de la Programación Orientada a Objetos como lo son la herencia, la reutilización del
código, el concepto de clase abstracta y su diferencia con el concepto de interfase. El
significado de polimorfismo y de enlace dinámico.
6
Comentario:
Esta pagina es muy interesante contiene un extenso índice referente a java, entre estos se
encuentran, los conceptos básicos de java por ejemplo Clases, Objetos, Constructor,
Control de acceso, Super, Herencia, Subclases, Clases abstractas etc .En cuanto al
concepto de herencia explican muy bien en que consiste la herencia y presenta pequeños
ejemplos para explicar la misma, al igual que el concepto de la Clases abstractas explican
en que consiste este mecanismo y presenta ejemplos del mismo.
Comentario:
Este pdf explica muy bien lo que Clases Abstractas, cuando es una clase abstracta,
cuando se utilizan las Clases Abstractas, presenta definiciones fáciles de entender,
ejemplos en UML y ejemplos codificados en lenguaje java que ,también contiene la
definición de interfase y varios ejemplos y varios ejemplos para explicar la definición de
interfase. Este pdf no permite modificar el contenido ni hacer copia del mismo, solo es
para lectura.
Comentario:
Esta pagina se trata de las principales características de la programación orientada a
objetos en la que esta muy íntimamente ligada la herencia en la que nosotros podemos
forzar a una subclase para que ofrezca las mismas propiedades de sus superclases,
Jerarquía, clases abstractas, sobrecarga.
7
GLOSARIO DE TÉRMINOS
Clase
Una clase define datos y métodos y es una unidad de organización de un programa Java.
Puede traspasar sus datos y métodos públicos a sus subclases. Unidad fundamental de
programación en Java. Contiene métodos y proporcionan la estructura para los objetos.
Herencia:
Es la característica por la cual los objetos para su creación se basan en una clase de base,
heredando todas sus propiedades, métodos y atributos; los cuales a su vez pueden o no ser
implementados y/o modificados. En Java, sólo existe herencia simple.
Extends :
La palabra estends es una palabra clave que se utiliza para indicar que una Subclase esta
heredando métodos y atributos de una Superclase.
Super:
La palabra Super es una palabra clave que se utilaza para hacer referencia a la clase
principal o Superclase.
Polimorfismo:
Las mismas raíces de la palabra pueden ser una fuerte pista de su significado: Poli =
Múltiple, morfismo = Formas. El polimorfismo en java consiste en declarar y definir
varios métodos con el mismo nombre, pero con diferente numero y/o tipo de argumentos
y que realizan diferentes operaciones. Sin embargo, el tipo que devuelven los métodos
debe coincidir.
Sobrecarga de Métodos:
La sobrecarga de métodos consiste en declarar métodos con el mismo nombre que son
diferenciados por los parámetros que reciben o que retornan. De esta forma no es
8
necesario declarar un método con distinto nombre para métodos similares en los que
solamente cambia el tipo de parámetros que han de utilizar.
Subclase
Se puede decir que una subclase es aquella que hereda todos los métodos y atributos de
una Superclase.
Jerarquía
Superclase
Clases Abstractas
Una clase abstracta es una clase de la que no se puede crear objetos. La utilidad de estas
clases estriba en que otras clases hereden de ésta, por lo que con ello conseguiremos
reutilizar código.
Abstract
Esta es una palabra clave que se utiliza para declarar una clase como clase abstracta.
Métodos Abstractos:
Los métodos abstractos son aquellos que no contienen ningún tipo de implementación,
inclusive no se declaran entre llaves sino entre paréntesis.
9
EJEMPLOS DE LOS CONCEPTOS
EJEMPLO DE HERENCIA:
import javax.swing.*;
public class Mujer { Esta es la Superclase
private String sexo; contiene atributos y
public String getsexo() { metodos
return(sexo); }
}
}
10
EJEMPLO DE POLIMORFISMO:
class Cantante{
private String nombre; Se realizara
public void Cantar() Polimorfismo del
{ método Cantar
System.out.println("Yo Canto Mucho La La La La");
}
} // fin Cantante
} //End Niño
11
EJEMPLO DE CLASE ABSTRACTA:
orquesta.tocar();
orquesta.afinar();
En este ejemplo no se ha generado una instancia de la
} clase abstracta porque no es valido hacerlo.
} Pero si se ha generado una instancia de la subclase
orquesta ya que ella heredo los métodos de la superclase
abstracta.
12
EJEMPLO DE SOBRECARGA:
import java.text.*;
public class Restar {
13
APLICACIÓN DE TODOS LOS CONCEPTOS APRENDIDOS
import javax.swing.*;
abstract class persona{ //clase abstracta no se puede instanciar
String nombre;
String sexo;
int edad;
// Contiene métodos Abstractos
abstract public float getpromedio ();
14
class Estudiante extends persona { //hereda de la superclase abstracta Persona métodos y
atributos
private int i, cant;
public Estudiante(String nom, String sex, int ed)
{
nombre=nom; //Se asigna valores a los atributos
sexo = sex;
edad= ed;
cant=5;
i=0;
} //implementación de los métodos abstractos
public String getnombre() {
return(nombre); }
public String getsexo(){
return(sexo); }
public int getedad(){ //sobrecarga de el metodo edad
return(edad);
}
public int getedad(int tiempo) //sobrecarga del metodo edad
{
eda=edad+tiempo;
return(eda);
}
public float getpromedio ()
{
float suma=0,prom,nota;
String not;
int k;
for (k=0;k<cant;k++)
{
not=JOptionPane.showInputDialog(null,"indique la nota ");
nota=Float.parseFloat(not);
suma=suma+nota;
}
prom=suma/cant;
return(prom);
}
public void caracteristicas() //se realiza polimorfismo de metodo Característica
{
System.out.println("Los estudiantes son personas
y tienen atributos como:notas ,etc"); }
}
15
class Profesor extends Estudiante //hereda de la subclase Estudiante
{
private int cod1,cod2,cod3;
else
if(codigo==cod2)
System.out.println("El codigo que introdujo le pertenece
a: Yajaira Juares, mat:software educ.");
else
if(codigo==cod3)
System.out.println("El codigo que introdujo le pertenece
a:Diego Santimateo,mat:Programacion");
else
System.out.println("El codigo que introdujo no existe,
Vuelva a intentarlo");
}
16
Clase principal donde se
encuentra el metodo void
import java.text.*; main
import java.lang.String.*;
public class Colegio{
public static void main(String [] args) {
String mensaje,sex,color,nomb,ed,op,cod,timp;
int eda,opc,codi,ti;
do
{
Captur Captu = new Captur();
mensaje="Indique el nombre de la persona";
nomb=Captu.Captura(mensaje);
mensaje="Indique el sexo de la persona";
sex=Captu.Captura(mensaje);
mensaje="Indique la edad de la persona";
ed=Captu.Captura(mensaje);
eda=Integer.parseInt(ed);
//Instanciacion a las Clases
Estudiante Estudi= new Estudiante(nomb,sex,eda);
Profesor profe= new Profesor(nomb,sex,eda);
//Se Llaman a los metodos Heredados
System.out.println("----Tu nombre es: ----"+Estudi.getnombre());
System.out.println("----Tu sexo es: ----"+Estudi.getsexo());
System.out.println("----Tu edad es: ----"+Estudi.getedad());
System.out.println("----Su Promedio es: -----"+Estudi.getpromedio ());
mensaje="Indique cuantos años dura su carrera";
timp=Captu.Captura(mensaje);
ti=Integer.parseInt(timp);
System.out.println("----Cuando termines tu carrera tu edad
será:--- "+Estudi.getedad(ti));
mensaje="Indique el codigo del profesor que desea saber, su nombre y materia";
cod=Captu.Captura(mensaje);
codi=Integer.parseInt(cod);
profe.Identificar(codi);
17
Clase Para Capturar Datos
18
DESCRIPCIÓN DE LA APLICACIÓN EJECUTABLE
El dominio que elegí para realizar mi aplicación fue un Colegio, Un colegio contiene
profesores, estudiantes, etc.
De igual manera elabore la subclase Profesor la cual hereda de la clase Estudiante Los
métodos y los atributos. Realice esta clase para elaborar el polimorfismo del método
Característica .Para realizar el Polimorfismo necesitaba heredar los métodos a los
cuales les iba a realizar polimorfismo en este caso el método Característica lo utilice
para realizar diversos mensajes.
Utilicé una clase para capturar (Captur) los datos necesarios para que funcionara mi
aplicación contiene un solo metodo que devuelve valores De tipo String. Y la clase
principal la que contiene el método void main, en esta clase creo las instancias de las
clases y realizo los llamados a lo diversos métodos.
19
ESPECIFICACIONES UML
Profesor
Codigo
Persona
Nombre
Sexo Void Identificar()
Edad
abstract public String
getnombre()
Estudiante
abstract public float
getpromedio () Nombre
Colegio abstract public String Sexo
getsexo() edad
abstract public int getedad() Promedio
abstract public void
Void main() caracteristicas() public String
getnombre()
public float getpromedio
()
public String getsexo()
public int getedad()
Captur public void
caracteristicas()
String Captura()
20
CONCLUSIÓN
Con la realización de este trabajo pude aclarar muchas cosas que no tenia claras como lo
era el uso de la herencia, del polimorfismo y clase abstracta. Ahora puedo comprender lo
importante que es el uso de la Herencia ya que permite realizar tantas cosas, que sin ella
habría que realizar un código mas extenso.
21