Lab 06 - Herencia de Clases Alex Jhon

download Lab 06 - Herencia de Clases Alex Jhon

of 15

description

herencia orientada a objetos

Transcript of Lab 06 - Herencia de Clases Alex Jhon

Instalacin y Uso de Herramientas de Desarrollo

Programacin Orientada a ObjetosHERENCIA DE CLASESNro. DD-106

Pgina 2 de 14Lab 10

PROGRAMACION ORIENTADA A OBJETOS

LABORATORIO N 6

HERENCIA EN PROGRAMACIN ORIENTADA A OBJETOS

CODIGO DEL CURSO:

Alumno(s)Nota

Alex Jhon Tito Ahumada

GrupoB

CicloII

Fecha de entrega03/0915

Laboratorio de Algoritmos y Estructuras de DatosNro. DD-106

Pgina 2 de 2

DISEO DE SOFTWARE E INTEGRACIN DE SISTEMASPROGRAMA DE FORMACIN REGULARI.- OBJETIVOS: Identificar las principales caractersticas de la Herencia en Java Explicar en palabras la finalidad de la Herencia en un programa en Java Implementar clases en Java empleando la Herencia

II.- SEGURIDAD:

Advertencia:En este laboratorio est prohibida la manipulacin del hardware, conexiones elctricas o de red; as como la ingestin de alimentos o bebidas.

III.- FUNDAMENTO TERICO:

Importante. Dentro de la carpeta D:\Java, verifique que tiene una carpeta identificada con su nombre y apellido. En esta carpeta debe crear los proyectos de los laboratorios. Si no existe la carpeta, crela.

Los procedimientos de creacin de proyectos se encuentran detallados en la gua de laboratorio de la segunda semana.

IV.- NORMAS EMPLEADAS:No aplica

V.- RECURSOS: En este laboratorio cada alumno trabajar con un equipo con Windows XP. Este equipo cuenta con JDK instalado, as como alguno de los IDE (Entorno de Desarrollo Integrado) como Eclipse o NetBeans.

VI.- METODOLOGA PARA EL DESARROLLO DE LA TAREA: El desarrollo del laboratorio es individual.

VII.- PROCEDIMIENTO:

INTRODUCCIN

Implementar un programa en Java implica generalmente crear varias clases. Muchas de estas clases incluyen propiedades o mtodos repetidos. La herencia permite crear una clase raz, denominada clase padre, la cual contenga todos los elementos comunes identificados. Aplicando la herencia se pueden crear clases descendientes de la clase raz anterior, denominadas clases hijas, las cuales heredaran todos los mtodos y propiedades de la clase padre. Una clase hija a su vez puede ser utilizada como clase padre para definir nuevas clase hijas (clases nietas de la clase raz original). As se pueden crear jerarquas de clases a travs de la Herencia.I. Primer ejemplo de aplicacin Creacin de una clase para calcular reas, permetro y diagonal de un cuadrado creando la clase cuadrado como hija de la clase rectanguloa) Crear un nuevo proyecto con los siguientes datos: Project name:tut_java_int_004b) Crear una nueva clase con los siguientes datos: Name: Rectangulo Click en el botn Finishc) A continuacin se muestra la estructura de la clase Rectangulo:

d) Agregaremos una nueva clase para la clase Cuadrado, que sea hija de la clase Rectngulo, con los siguientes datos: Name: Cuadrado Click en el botn Finishe) A continuacin se muestra la estructura de la clase Cuadrado:super() sirve para llamar al constructor de la clase padreAqu se define a Cuadrado como clase hija de Rectangulo

Nota:Observe que la clase Cuadrado no incluye mtodos para calcular, rea, permetro ni diagonal. Pero est heredando dichos mtodos de la clase Rectangulo

f) Adicione una clase denominada Herencia1 que contenga el mtodo main(). Luego adicione a la funcin main() el siguiente cdigo que permite crear un OBJETO de la clase Cuadrado y luego llama indistintamente a los mtodos que ella contiene:+++}public static void main(String[] args) {System.out.printlnSystem.out.printlnSystem.out.println

g) Ejecute el programa y verifique que se muestre correctamente el rea, permetro y diagonal de un cuadrado de lado 20.

II. Crear una nueva clase para referenciar puntos en un plano de 2 dimensiones y que calcule la distancia del origen de coordenadas al punto referenciadoa) Adicionar una nueva clase con los siguientes datos: Name: Punto2D Click en el botn Finishb) A continuacin se muestra el cdigo de la clase Punto2D:

III. Crear una nueva clase para referenciar puntos en un plano de 3 dimensiones y que calcule la distancia del origen de coordenadas al punto referenciado. La clase debe ser hija de la clase anterior a) Adicionar una nueva clase con los siguientes datos: Name: Punto3D Click en el botn Finishb) A continuacin se muestra el cdigo de la clase Punto3D:super() sirve para llamar al constructor de la clase padreAqu se define a Punto3D como clase hija de Punto2D

c) Adicione al mtodo main() el siguiente cdigo que permite crear OBJETOS de las clase Punto2D y Punto3D y muestra en la consola de salida las distancias de dichos puntos al origen de coordenadas:++System.out.printlnSystem.out.printlnpublic static void main(String[] args) {

d) Ejecute el programa y verifique que se muestre correctamente el resultado.

e) Indique los detalles mas importantes del ejercicio realizadoEl uso de la Herencia en cada caso; El uso de la sentencia super que atravez de ella se puede llamar al constructor de la clase padre.El uso de this y los constructores que reciben y no valores.El uso de .hypot para sacar la hipotenusa de dos cateto

f) Agregaremos una nueva clase para la clase Ortoedro con los siguientes datos: Name: Ortoedro Click en el botn Finishg) A continuacin se muestra la estructura de la clase Ortoedro:

h) Adicione el siguiente cdigo al mtodo main() que permite crear un OBJETO de la clase Ortoedro y luego llama indistintamente a los mtodos que ella contiene:+System.out.println (System.out.printlnpublic static void main(String[] args) {

i) Ejecute el programa y verifique que se muestre correctamente el rea, volumen y diagonal de un ortoedro.

j) Indique los detalles mas importantes del ejercicio realizadoEl uso de la sentencia super.area para poder llamar a toda esa funcin de la clase padre y tambin se utiliz el or.

Ejercicio propuesto:Segundo ejemplo de aplicacin Creacin de una serie de clases para calcular reas y volmenes de poligonos regulares, prismas y pirmidesk) Crear un nuevo proyecto con los siguientes datos: Project name:tut_java_int_005_poliedrosl) Adicione una nueva clase con los siguientes datos: Name: PoligonoRegular Click en el botn Finishm) A continuacin se muestra la estructura de la clase PoligonoRegular:

n) Adicionar una nueva clase con los siguientes datos: Name: Prisma Click en el botn Finisho) A continuacin se muestra la estructura de la clase Prisma:

p) Adicionar una nueva clase con los siguientes datos: Name: Piramide Click en el botn Finishq) A continuacin se muestra la estructura de la clase Piramide:

r) Adicionar una nueva clase con los siguientes datos: Name: TroncoPiramide Click en el botn Finishs) A continuacin se muestra la estructura de la clase TroncoPiramide:

t) Adicione el siguiente cdigo al mtodo onCreate() que permite crear OBJETOS de las clases PoligonoRegular, Prisma, Piramide, y TroncoPiramide, luego llame indistintamente a los mtodos que ellas contienen:++++System.out.println (System.out.println (System.out.println (System.out.println (+System.out.println (public static void main(String[] args) {

u) Ejecute el programa y verifique que se muestren los resultados correctamente.

Informacin Adicional: http://www.disfrutalasmatematicas.com/geometria/poligonos-regulares.htmlPropiedades de los polgonos regularesPolgonoUn polgono es una figura plana (bidimensional) cerrada con lados rectos. Algunos ejemplos son tringulos, cuadrilteros, pentgonos, hexgonos, etc.RegularUn "polgono regular" tiene todos los lados iguales y todos los ngulos iguales. Si no, es irregular.

Pentgono regularPentgono irregular

ngulo interiorEl ngulo interior de un polgono regular de "n" lados se calcula con la frmula:(n-2) 180 / nPor ejemplo el ngulo interior de un octgono (8 lados) es:(8-2) 180 / 8 = 6180/8 = 135Y el de un cuadrado es (4-2) 180 / 4 = 2180/4 = 90

ngulo exteriorLos ngulos exterior e interior se miden sobre la misma lnea, as que suman 180.Por lo tanto el ngulo exterior es simplemente 180 - ngulo interiorEl ngulo interior de este octgono es 135, as que el ngulo exterior es 180-135 = 45

El ngulo interior de un hexgono es 120, as que el ngulo exterior es 180-120 = 60

DiagonalesTodos los polgonos (menos los tringulos) tienen diagonales (lneas que van de un vrtice a otro, pero que no son lados).El nmero de diagonales es n(n - 3) / 2.Ejemplos: un cuadrado tiene 4(4-3)/2 = 41/2 = 2 diagonales un octgono tiene 8(8-3)/2 = 85/2 = 20 diagonales(Nota: esto vale para polgonos regulares e irregulares)

Circunferencia inscrita, circunscrita, radio y apotema"Circunferencia inscrita, circunscrita, radio y apotema... " Suena musical si lo repites unas cuantas veces, pero slo son los nombres de los crculos "exterior" e "interior" (y sus radios) que se pueden dibujar en un polgono regular, as:La circunferencia "exterior" se llama circunscrita (a veces tambin "circuncrculo"), y conecta los vrtices del polgono.La circunferencia "interior" se llama inscrita (a veces tambin "incrculo"), y toca cada lado del polgono en el punto medio.El radio de la circunferencia circunscrita es tambin el radio del polgono.El radio de la circunferencia inscrita es el apotema del polgono.

FrmulasSi tomamos un "sector" de un polgono regular de "n" lados y lo cortamos por la mitad, tenemos un tringulo pequeo que contiene toda la informacin importante:

(Nota: los ngulos son en radianes, no en grados)

El tringulo pequeo es rectngulo as que podemos usar seno, coseno y tangente para ver las relaciones entre el lado, el radio, el apotema y "n":sin(/n) = (Lado/2) / RadioLado = 2 Radio sin(/n)

cos(/n) = Apotema / RadioApotema = Radio cos(/n)

tan(/n) = (Lado/2) / ApotemaLado = 2 Apotema tan(/n)

Hay muchas ms relaciones como estas (casi todas son "reordenamientos"), pero con estas nos vale por ahora.reaAhora es fcil calcular el rea... slo sumar las reas de todos los tringulos! El rea de un tringulo es la mitad de la base por la altura, as que:rea del tringulo pequeo = Apotema (Lado/2)Y sabemos (por la frmula con "tan" de arriba) que: Lado = 2 Apotema tan(/n) As que:rea del tringulo pequeo = Apotema (Apotema tan(/n))

= Apotema2 tan(/n)

Y hay dos tringulos por lado, o sea 2n en todo el polgono:rea del polgono = n Apotema2 tan(/n)La verdad es que es una frmula muy simple!Otras frmulas del reaSi no sabes cunto mide el apotema, podemos sacar frmulas con el radio y el lado:rea del polgono = n Radio2 sin(2 /n)rea del polgono = n Lado2 / tan(/n)

Frmulas del tronco de pirmide

VIII.- OBSERVACIONES:

Se comprendi la utilizacin de la Herencia. Se observ que se pudo aplicar ms de una vez la Herencia. Se vio nuevos mtodos. Se observ los errores comunes aplicando Herencia.

IX.-CONCLUSIONES:

Se pudo comprender el funcionamiento de la Herencia. Se logr aplicar los conocimientos aprendidos en la web tras un largo proceso de aprendizaje. Se pudo usar constructores y las sentencias setters y getters. Se logr contestar de manera positiva todas las interrogantes que el laboratorio planteo.