Вы находитесь на странице: 1из 18

UNIVERSIDAD DE PANAMÁ

CENTRO REGIONAL UNIVERSITARIO DE VERAGUAS

LIC EN INF. PARA GESTIÓN EDUCATIVA Y

EMPRESARIAL

MATERIA:

Programación IV

PROFESORA:

Diego Santimateo

ESTUDIANTE:

Jesús Lee Rodríguez.

FECHA DE ENTREGA:

Jueves, 30 de noviembre del 2006

II- SEMESTRE

Pag. 1
Contenido

Introducción......................................................................................................................3

Ejemplos de los términos utilizados..................................................................................4


Herencia y superclase......................................................................................................................4
Jerarquía...........................................................................................................................................5
Clases abstracta................................................................................................................................6
Polimorfismo...................................................................................................................................7
Sobrecarga ......................................................................................................................................8

Webgrafia comentada.....................................................................................................10
Programa modelo...........................................................................................................................15
Uml ...............................................................................................................................................17
Glosario..........................................................................................................................................18

Pag. 2
Introducción:

Java es un lenguaje orientado a objetos. Esto significa que posee ciertas

características que hoy día se consideran estándares en los lenguajes OO: Objetos,

Clases , Métodos , Subclases , Herencia simple, Enlace dinámico, Encapsulamiento ,

Polimorfismo, clases y clases abstracta, sobrecarga, jerarquía entre otros.

Estos conceptos no son simples, por lo que explicaremos algunos de los mas

importante . Este trabajo trata de aclarar puntos y términos clave de el lenguaje java.

Pag. 3
Ejemplos de los términos utilizados

En esta parte se muestra ejemplos de Programas de los


términos utilizados en la webgrafia y que son de gran
importancia en la programación orientada a objetos.

1. Herencia y súper clase


Ejemplos:
Este es un pequeño ejemplo para la clara comprensión de lo que es herencia y super
clase en java.
Como podemos observar la clase medico es la clase principal o como dice en el la
wegrafia la clase padre o súper clase de la cual se derivan otras clases como lo es la
subclase MedicoDecabesera y la clase Cirujano y como podemos observar que cada
una de las subclases tienen funciones especiales. En la investigación que se izo se
comprende que estas subclases heredan atributos de la clase padre o súper clase y es
por eso lo del concepto de herencia.
Nota: En el glosario se encuentra una definición de términos como herencia súper clase
y otros.

public class Medico


{ /*es la clase de donde se derivan otras clases que podemos observar abajo
public boolean trabajaEnHospital;
public void tratarPaciente()
{
//Realizar un chequeo.
}
}
/*clases que heredan de la superclase
public class MedicoDeCabecera extends Medico
{
public boolean visitaLasCasas;
public void aconsejaPacientes()
{
//Ofrecer remedios caseros.
}
}

public class Cirujano extends Medico


{
public void tratarPaciente()
{
//Realizar una operación.
}
public void hacerIncision()
{
//Realizar la incisión (¡ouch!).
}
}

En el siguiente diagrama de uml se muestra con mas claridad y para mayor


comprensión los atributos de las clases del código anterior.

Pag. 4
Medico
TrbajaEnElHospital: boolean
TratarPasiente{}: void

MedicoDeCabecera Cirujano
VisitaLasCasas: boolen
AconsejaPacientes{}: void tratarPaciente(): void
hacerIncision(): void

2. jerarquía:
Ejemplo:
Este es un ejemplo grafico grande se puede observar claramente el concepto de
jerarquía. Este es una jerarquía de un programa donde se encuentra la clase principal
y las subclases que se derivan de la clase principal. De igual manera las subclases se
transforman en clase de otras subclases convirtiéndole en clase padre y así
sucesivamente.

Podemos observar mejor este concepto usando el ejemplo de herencia anterior donde
podemos observar claramente que la clase MedicoDeCabecera y Cirujan se derivan de
la clase principal.

MedicoDeCabecera

Medico Cirujan

Pag. 5
3. Clases abstracta

Ejemplo: Un buen ejemplo para lograr la comprensión de lo que son las clases
abstracta en java es la clase Graphics que podemos observar a continuación:

public abstract class Graphics {


public abstract void drawLine( int x1,int y1,int x2, int y2 );
public abstract void drawOval( int x,int y,int width,int height );
public abstract void drawArc( int x,int y,int width,int height,int startAngle,int arcAngle );

/*. . . pueden aber mas clase si asi lo deseamos o lo nesecitemos. Pero solo para
comprenderlo usaremos estos*/
}

Estos métodos se declaran en la clase Graphics, pero el código que ejecutará el


método está en algún otro sitio, para ponerle un ejemplo esto pude ser de la siguiente
manera:
public class MiClase extends Graphics {
public void drawLine( int x1,int y1,int x2,int y2 ) {
<código para pintar líneas -específico de
la arquitectura->
}
}

Si nos ponemos a observar también hay herencia implicada pero esto no es lo que nos
interesa ahora sino la clase abstracta.
Cuando una clase contiene un método abstracto tiene que declararse abstracta. No
obstante, no todos los métodos de una clase abstracta tienen que ser abstractos. Las
clases abstractas no pueden tener métodos privados (ósea que no se podrían
implementar) ni tampoco estáticos. Una clase abstracta tiene que derivarse
obligatoriamente, no se puede hacer un new de una clase abstracta (para ver estos
detalles visitar la webgrafia recomendad en este trabajo.

Pag. 6
4. polimorfismo
para una clara comprensión de lo que es el polimorfismo en java podemos recurrir al
glosario o si no a este ejemplo donde mostraremos donde da el polimorfismo en este
caso: observemos el siguiente ejemplo donde se da el polimorfismo.
class Factura2 {
private Guitarra2 articulo;
private double precioVenta;

/*Este es el programa principal y le damos los valores de entrada para la


breve demostracion del polimorfismo*/
public static void main (String[] args) {
GuitarraEsp2 esp = new GuitarraEsp2("clasica",100,"cerezo");
GuitarraElec2 elec = new GuitarraElec2("w101 de jesus",60,"DF-200");
GuitarraEA ea = new GuitarraEA("electvoz",70);
Factura2 f2 = new Factura2 (elec);
f2.imprimir();
}

/* Polimorfismo: las guitarras españolas y electricas


se tratan como objetos de la clase Guitarra para
que el constructor sirva para ambos tipos de guitarra*/
public Factura2(Guitarra2 articulo) {
this.articulo = articulo;
/*Si el artículo es de tipo GuitarraEsp se invoca
su método para calcular el precio, si es de tipo
GuitarraElec se invoca el método de la clase
GuitarraElec. Esto se denomina "ligadura dinámica"*/
this.precioVenta = articulo.calculaPrecioVenta();
}

/* Lo mismo ocurre con el método imprimir. El método que


se invoca depende de la clase a la que pertenece el
objeto y no de la declaración de la referencia que se
usa para denominar el objeto.*/
public void imprimir() {
articulo.imprimir();
System.out.println("Precio de venta: " + precioVenta + '\n');
}
}

otra objeto de la clase factura

class Guitarra2 {
protected String nombre;
protected double precioCoste;

public Guitarra2(String nombre,double precioCoste) {


this.nombre = nombre;
this.precioCoste = precioCoste;
}

public double calculaPrecioVenta() {


return precioCoste + precioCoste*0.2;
}

public void imprimir() {


System.out.println("Guitarra " + nombre);
}

Pag. 7
class GuitarraEsp2 extends Guitarra2 {
private String madera;

public GuitarraEsp2(String nombre,double precioCoste,String madera) {


super(nombre,precioCoste);
this.madera = madera;
}

public double calculaPrecioVenta() {


return precioCoste + 0.3*precioCoste;
}
public void imprimir() {
System.out.println("Guitarra " + nombre + '\n' + "madera de " + madera);
}
}

class GuitarraElec2 extends Guitarra2 {


private String pastillas;
public GuitarraElec2(String nombre,double precioCoste,String pastillas) {
super(nombre,precioCoste);
this.pastillas = pastillas;
}
public void imprimir() {
System.out.println("Guitarra " + nombre + '\n' +
"modelo: " + pastillas);
}
}

class GuitarraEA extends Guitarra2 {


public GuitarraEA(String nombre,double precioCoste) {
super(nombre,precioCoste);
}
}
nota: podemos compilarlo y observar su funcionamiento interno.

5. sobrecarga:
Par demostración de lo que es la sobrecarga, observemos la siguiente clase usuario
con métodos y constructores sobrecargados:
Nota: para mejor compresión explicaremos las formas de sobrecarga en algunos
pasos del la clase padre.

class Usuario
{
String nombre;
int edad;
String direccion;

/* El constructor de la clase Usuario esta sobrecargado */

Usuario( )
{
nombre = null;
edad = 0;
direccion = null;
}

Usuario(String nombre, int edad, String direccion)

Pag. 8
{
this.nombre = nombre;
this.edad = edad;
this.direccion = direccion;
}

Usuario(Usuario usr)
{
nombre = usr.getNombre();
edad = usr.getEdad();
direccion = usr.getDireccion();
}

void setNombre(String n)
{
nombre = n;
}

String getNombre()
{
return nombre;
}

/* El metodo setEdad() está sobrecargado */

void setEdad(int e)
{
edad = e;
}

void setEdad(float e)
{
edad = (int)e;
}

int getEdad()
{
return edad;
}

void setDireccion(String d)
{
direccion = d;
}

String getDireccion()
{
return direccion;
}
}

Pag. 9
webgrafia comentada
Primera fase:

Fuentes de información:

1- Bel Puchol Antonio - abelp@arrakis.es ; 17-Junio-2001; Apuntes Lenguaje


Java [apuntes en línea] Disponible desde Internet en
<http://www.arrakis.es/~abelp/ApuntesJava/indice.htm >
Con acceso [2006-11-07]

Comentario:

Esta página es clara nos deja ver que clase abstracta es un método abstracto
ósea que es un método declarado en una clase para el cual esa clase no proporciona
la implementación (ósea el código). También nos dice que una clase abstracta es una
clase que tiene al menos un método abstracto. También es de interés saber que una
clase que atiende a una clase abstracta debe implementar los métodos abstractos
(ósea que debe escribir el código) o bien volverlos a declarar como abstractos, con lo
que dicha clase también se convierte también en clase abstracta.
Además de la clase abstracta esta página pose ejemplos de la utilización de la
herencia en java y definiciones relacionadas al tema que he investigado. Que en lo
personal considero que es muy importante en la programación orientada a objetos, que
una persona que programe en java tenga claros estos términos que al principio se
tornan un poquito enredado pero con la lectura de esta página se van aclarando dudas.

2- M. Carmen, Fernández Panadero, Julio Villena Román, José María Rubio,


Manso Jorge Ruiz Magaña; 06/05/2006 11:47:48; Herencia en Java [web en línea];
Disponible desde Internet en
<http://www.it.uc3m.es/tsirda/practicas/P13/enunciado.html#ej1>
Con acceso [16 Enero 2006].

Comentario:

Esta es una página interesante dado que nos encierra en un mundo de


razonamiento por ejemplo muchos de mis compañeros tal vez no sabían el significado
de la palabra polimorfismo, pero al igual que yo creo que ya saben lo que significa, las
páginas dicen que la palabra se divide en dos poli y morfo que poli significa muchas, y
que morfo viene de formas en conclusión polimorfismo significa muchas formas. Esta
definición de la palabra no deja ver ideas de los que es el polimorfismo en java, y que
luego estas ideas se aclaran más metiéndonos mas afondo en la página, donde
podemos visualizar un trabajo usando polimorfismo.
Dicha página también muestra ejemplos claros de herencia, de manera que las
personas pueden interpretar la definición de lo que es herencia. Por medio de los

Pag. 10
códigos y las explicaciones puestas en esta página nos pueden llevar a una mayor
comprensión de lo que es herencia en java cuando la ley paso a paso comprendí mas
lo que es herencia y por ende creo que puede ser de gran utilidad para todos los que lo
visiten y quieran aprender sobre herencia.

3- Ing. Román Zamitiz Carlos Alberto carlos@fi-b.unam.mx Facultad de


Ingeniería, UNAM; Programación con java [Web]; disponible desde Internet en
<http://www.fi-b.unam.mx/pp/profesores/carlos/java/indice.html>
Con acceso [2006-11-07]

Comentario:

Estas es una página bien detallada en términos concretos y ejemplos claros,


define términos como por ejemplo: La herencia como el mecanismo que permite la
definición de una clase a partir de la definición de otra ya existente. Una sencilla
definición para una clara comprensión.
Además nos deja la igualdad de los términos de clase padre y superclase, nos
dice que la clase padre de cualquier clase es conocida como su superclase, me dejo
claro ya que no sabia lo que era superclase si no clase padre pero, y me he dado
cuenta que es lo mismo (al igual que yo muchos pueden aclarar dudas con esta
página).
Otra definición que me ayudo a la comprensión de lo que es polimorfismo es esta: Un
objeto solamente tiene una forma (la que se le asigna cuando se construye ese objeto)
pero la referencia a objeto es polimórfica porque puede referirse a objetos de diferentes
clases (es decir, la referencia toma múltiples formas). 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.
En conclusión es muy buena la página ya que posee información referente a
Polimorfismo, Herencia, Sobrecarga que es útil en el java y en otro lenguaje orientado a
objeto.

4- Rodríguez herrera Daniel multivac@internautas.org; Copyright © [1999-2006]


Programación en castellano.”Introducción a java” disponible en Internet en:
http://www.programacion.com/java/tutorial/intjava/9/
Con acceso [2006-11-07]

Comentario:

Esta es una página ilustrada con ejemplo de polimorfismo y sobrecarga. La


página menciona que el concepto de polimorfismo, en cuanto a los cambios y forma de
una clase, se puede extender a los métodos que usa la clase. La pagina también
menciona que Java permite que varios métodos dentro de una clase se llamen igual,
siempre y cuando su lista de parámetros sea distinta; en lo personal en un clase que se

Pag. 11
dio en el aula lo pude comprobar cuando llame a dos métodos con el mismo nombre
pero con diferentes parámetros, creo que era los métodos imprimir en una tenia como
parámetro un String para que lo imprimiera y en el otro un String y un valor de tipo float
y pude observar que java no mandaba ninguna clase de error porque se llamasen a las
clases con el mismo nombre.
La página también menciona que se puede dar el polimorfismo cuando
utilizamos herencia y que podemos terminar teniendo una familia de clases que
comparten un interfaz común. En si la pagina puede ser de mucha ayuda para quien la
visite con la intención de aprender mas sobre los conceptos involucrados en java pude
ayudar a concretar los conocimientos que pose o a obtener nuevos conocimientos.

5- Wikipedia; 10 oct 2006 23:00; Herencia (programación orientada a objetos)


[Web en línea] Disponible desde Internet en
<http://es.wikipedia.org/wiki/Herencia_(programaci%C3%B3n_orientada_a_objetos>
Con acceso [2006-11-07].

Comentario:

Esta página es muy buena ya que pose ejemplo para la utilización en java y
definiciones de término de java como lo son:
Herencia la pagina concretiza los conocimiento que se tiene después de visitar la
paginas anteriores, esta pagina nos dice la herencia es uno de los mecanismos de la
programación orientada a objetos, por medio del cual una clase se deriva de otra de
manera que extiende su funcionalidad estoen lo personal me Hace una idea muy
grande , que creo que java fue hecho para construir cosas grandes y me imagino
asiendo un programa con una jerarquía de una empresa muy grande, creo que seria
muy interésate hacerlo realidad.
Además esta página nos viene hablando sobre el polimorfismo. Esta página nos
dice que el polimorfismo consiste en métodos con el mismo nombre pero deferente
implementación lo que concretizan lo que mencione en algunas paginas anteriores, les
puede ser útil para todos los interesados en aprender conceptos de java.
Nos habla también de las clases Abstractas, nos dice que son las clases que
nunca se han instanciadas directamente y al igual que estos términos otros que
también se relacionan con java y que son de gran importancia tomarlas en cuenta a la
ora de programar.

6- Matéu Luís; Publicado: 7 de Noviembre de 1996. Apuntes de Java [Tutorial en


línea] Disponible desde Internet en:
< http://www.dcc.uchile.cl/~lmateu/Java/Apuntes/subclase.htm> con acceso [7-11-2006]
Con acceso [2006-11-07].

Comentario:

Pag. 12
Es una página que contiene detalles de los términos que tiene que ver con java,
además de ejemplos que puede ser de gran utilidad para la comprensión de los
términos utilizados.
La pagina nos habla sobre las clases, subclases, herencia, lo que tiene que ver
con la jerarquía de las clases, nos habla sobre los constructores de las subclases, la
redefinición de los métodos, además sobre las clases y métodos abstractos y muchos
mas términos que se encuentran en java. En conclusión es de mucha ayuda para los
programadores que quieran conocer sobre tales términos para la aplicación en códigos
de objetos útiles.
Esta página fue de mucha ayuda par mí ya que fue una de las primeras páginas
que encontré interesantes y que me gusto para retomar ejemplos de códigos. Además
me ayudo a comprender lo que son las clases y métodos abstractos, la pagina
comentaba que la clase abstracta es una clase que se introduce solo para que se
deriven nuevas clases se ella, y no para que creen objetos con ella o con su nombre;
pero también nos habla que no hay solo clases sino también métodos que son
abstractos, que estos métodos se introducen en la clase para que sean diferenciados
en una clase derivada. Es interesante ya que pose un ejemplo que si se nos hace difícil
asimilarlo que es abstracto en la lectura, el ejemplo nos puede ayudar a una mejor
comprensión.

7- Froufe Agustín - froufe@arrakis.es; Creada en 1996 actualizada [1 de Enero de


1997]; Tutorial de java [web en línea] Disponible en Internet en
<http://www.cica.es/formacion/JavaTut/>.Con acceso [2006-11-07]
Nota: el índice de la página se encuentra en la parte inferior derecho de la página
principal.

Comentario:
En esta dirección podemos un tutorial donde pose los términos que estamos
investigando, en esta pagina podemos ver que cuando utilizamos la herencia podemos
terminar teniendo una familia de clases que comparten un interfaz común. Esto
conlleva una relación en la que las subclases heredan atributos de la superclase esto lo
podemos denominar como herencia ya que heredan métodos y atributos de una clase
posterior, para mi este es el concepto entre los que hemos investigado el mas fácil de
captar pero creo que muy relacionado a estos esta el polimorfismo el cual permite
sobrescribir en las subclases los métodos de la superclase y así una misma operación
puede estar relacionada a métodos distintos en clases diferentes. De todo esto habla
las páginas que componen el tutorial citado y que pueden ser también de gran ayuda.

8- Globewide Müller, P.; Actualizado en Agosto 31, 1997. [Documento en


línea].Programación orientada a objeto, Network Academy (GNA). Disponible desde
Internet en: <http://www.gnacademy.org/text/cc/Tutorial/Spanish>. [Con acceso el 8-11-
2006].

Pag. 13
Comentario:

Unos de los términos mas utilizados en la programación orientada a objetos es


la herencia lo podemos observar en la paginas anteriores, y en esta es otra pagina
donde 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.
En lo personal uno de los términos investigados mas duros de comprender es la
de las clases abstractas (abstract), para esta la pagina mencionaba que se usa para
expresar el hecho de que las clases derivadas deben "redefinir" las propiedades para
cumplir con la funcionalidad deseada, porque desde el punto de vista de la clase
abstracta, las propiedades son únicamente especificadas pero no completamente
definidas.
La definición que usa la pagina para Clase Abstracta se me izo mas fácil de
comprender que las que usa las paginas anteriores. Esta página menciona que Una
clase A se llama clase abstracta si es usada solamente como una superclase para otras
clases. La Clase A solamente específica propiedades. No se usa para crear objetos.
Las clases derivadas deben definir las propiedades de A. además las clases abstractas
nos permiten estructurar nuestra gráfica de herencia.
Estos y otros términos lo podemos encontrar en esta página que me fue de
mucha ayuda.

9- Sierra José Luis; Curso 2002 – 2003; Herencia; [pdf en línea] Disponible en
Internet en <http://www.fdi.ucm.es/profesor/jlsierra/lpiii/transparencias/herencia.pdf >.
[Con acceso 2006-11-08].

Comentario:
Este es una pagina en pdf de un curso de programación que viene hablando de
herencias en java, en donde el profesor Sierra José Luís menciona lo que ya hemos
mencionado en la otras paginas analizadas pero a diferencia de las otras, el menciona
que hay dos tipo de herencia la herencia de implementación y la herencia de interfase
En la primera (herencia de implementación) es la herencia simple ya que una
clase puede extender a otra clase, esto quiere decir que una clase puede extenderse a
lo sumo una clase solamente.
La segunda clase de herencia que el profesor mencionaba es herencias de
interfase, el menciona que es cuando una clase puede extender múltiples interfases. Y
que esta es la más impotente de java ya que aporta la ventaja de herencia como lo es
el polimorfismo, vinculación y otros términos.
Esto es lo nuevo que aprendemos de esta pagina y para lo demás se muestran
ejemplos claros de los dos tipos de herencia mencionados.

Pag. 14
10- Chemi. chemi@javahispano.org; publicado:( 18-ene-2005). Java Hispano
[En línea] disponible en Internet en
http://www.javahispano.org/cursotext.viewer.action?file=basico
Con acceso [2006-11-08].

Comentario:

Estas es una pagina muy buena que en lo personal creo que es una de las
mejores que he visitado, es muy detallado en términos como polimorfismo, lo que tiene
que ver con la herencia y muchos otros términos que tienen que ver con la
programación orientada a objetos de java.
Además tiene la funcionalidad de descargar ejemplos y prácticas que son muy
útiles para los programadores en java, todos lo conceptos que tiene guardan mucha
relación con los termino de las paginas anteriores y que también considero que nos
pueden ser de mucha utilidad para nosotros.

11- Manzanedo, M.; García, P.; García, F.; Actualizado el 13 de octubre de 1999.
[Documento en línea]. Guía de inicialización al lenguaje Java, Salamanca.
Disponible desde Internet en: <http://pisuerga.inf.ubu.es/lsi/Invest/Java/Tuto/II_6.htm>
[con acceso el 8-11-2006].

Comentario:

Este documento en su pagina principal presenta información sobre el lenguaje


Java como también conceptos importantes de la programación Orientada a Objetos
como la herencia de clases, clases abstractas, polimorfismo, sobrecarga,
composición entre otros.
La pagina a la que hace regencia el vinculo de arriba habla mas que nada de la
herencia y la jerarquía, pero me llamo la atención que también menciona dos clases de
herencia que manzanedo las llama por otro nombre y no como las llama Sierra José
Luís en profeso diseñador de la pagina numero nueve que ya mencionamos el llama a
las una de las herencia como herencia múltiple y el profesor sierra las llama interfase
pero cuando analizamos la pagina llegamos a la definición de que es lo mismo que
mencionan en la otra pagina pero con nombres distinto. Lo que nos deja ver que solo
existe por ahora dos clase de herencia.
Además el documento habla sobre la jerarquía y la gran utilidad en la herencia
esta pagina menciona que las características de herencia, nos permite definir nuevas
clases derivadas de otra ya existente, que la especializan de alguna manera y que así
logramos definir una jerarquía de clases, que se puede mostrar mediante un árbol de
herencia. La página nos ayuda a tener más claros dichos términos.

Pag. 15
Programa modelo

Un programa listo para compilar atendiendo los conocimientos adquiridos en


este trabajo los conocimiento adquiridos.
El programa se divide en tres clase que son:

Class Calcula
import javax.swing.*;
import java.text.*;
import java.lang.String.*;
class Calcula{
public static void main(String[] args){ // programa principal para la compilacion
CapturaImprecion capimpre= new CapturaImprecion();
double[] notas = new double[5];
double total;
int i;
String mensaje;
mensaje="Biemvenidos a sacar su promedio";
capimpre.Imprecion(mensaje);
mensaje="escriba su nombre nombre";
String nombre=capimpre.Captura(mensaje);
mensaje="escriba la cedula cedula";
String cedula=capimpre.Captura(mensaje);

double promedio,salarioneto;
for (i=0;i<5;i++){
mensaje="Esccriba la nota "+(i+1);
notas[i]=Double.parseDouble(capimpre.Captura(mensaje));
}

Promed ddatos =new Promed();


String nombreycedula=ddatos.nombres(nombre,cedula,notas);
total=ddatos.promedio(i);
promedio=ddatos.promedio();

mensaje=" DATOS DE LA PERSONA";


capimpre.Imprecion(mensaje, nombreycedula, promedio,total);
}
}
class CapturaImprecion para demostración de sobrecarga y polimorfismo
import javax.swing.*;
import java.text.*;
class CapturaImprecion{
public String Captura(String mens){
String dato;
dato=JOptionPane.showInputDialog(null,mens);
return (dato);
}//Captura
public void Imprecion(String mens){
JOptionPane.showMessageDialog(null,mens);
}
sobrecarga
public void Imprecion(String mens, String mens1, double promedio,double suma){
JOptionPane.showMessageDialog(null,mens+"\n El nombre y cedula es: "+mens1+
"\n Su Promedio es "+promedio+"\n Su suma de las notas es "+suma);
}
}//fin de la clase
}//fin de la clase

Pag. 16
class Promed extends Datos y la clase class Datos extends Calcula para demostración de herencia,
polimorfismo, super clase o clase padre

class Promed extends Datos{ //herencia o clase hijo


int i;
double total, promedio;
public double promedio(int n){
for (i=0;i<n;i++){
total=total+notas1[i];
}
return(total); polimorfismo
}

public double promedio(){


double promedio=total/i;
return(promedio);
}
}

class Datos extends Calcula{ //clase padre de la clase promed


String nomb;
double[] notas1 = new double[5];
public String nombres(String nombre,String cedula,double[] notas){
nomb=nombre+" "+cedula;
notas1=notas;
return(nomb);
}
}

uml:

Calcula
//no tiene
public static void main()

CapturaImprecion
//no tiene
public String Captura()
public void Imprecion()
public void Imprecion()
Datos
// no tiene
public String nombres()

Promed
//no tiene
public double promedio(int n)
public double promedio()

Pag. 17
glosario
Términos de importancia en la programación orientada a objetos

6. Herencia:
La herencia en java se puede definir como el mecanismo que permite la definición de
una clase a partir de la definición de otra ya existente.

7. Jerarquía:
En java La jerarquía de clases es la que permite apreciar fácilmente qué clases son
subclases de otras.

8. Superclase:
La superclase en java se define como la clase padre de una clase que se deriva de la
clase padre, ósea , que es la clase de donde se derivan otras clases.

9. Clases abstracta:
Una clase abstracta es una clase que se introduce sólo para que se deriven nuevas
clases de ella, no para que se creen objetos con su nombre.

10. Método abstracto:


Un método abstracto es un método que se introduce para que sea redefinido en una
clase derivada.

11. Polimorfismo
Polimorfismo es una palabra compuesta de dos palabras: poli (muchas) morfo (formas)
la palabra compuesta significa muchas formas. En la programación orientada a objeto
la referencia a los objeto es polimórfica porque puede referirse a objetos de diferentes
clases, ósea, consiste en métodos con el mismo nombre pero deferente
implementación.

12. Sobrecarga
La sobrecarga es cuando en una clase X pose mas de un método con el mismo
nombre pero con diferente parámetros o diferentes tipos.

Pag. 18

Вам также может понравиться