Académique Documents
Professionnel Documents
Culture Documents
LABORATORIO N 6
HERENCIA EN PROGRAMACIN
ORIENTADA A OBJETOS
CODIGO DEL CURSO:
Alumno(s)
Alex Jhon Tito Ahumada
Grupo
Ciclo
Fecha de entrega
B
II
03/0915
Nota
Nro. DD-106
Pgina 1 de 14
Lab 10
I.- OBJETIVOS:
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.
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.
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 rectangulo
a) Crear un nuevo proyecto con los siguientes datos:
Project name:
tut_java_int_004
Nro. DD-106
Pgina 2 de 14
Lab 10
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 Finish
e) A continuacin se muestra la estructura de la clase Cuadrado:
Nro. DD-106
Pgina 3 de 14
Lab 10
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:
System.out.pr
intln
System.out.pr
intln
System.out.pr
intln
+
+
+
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 referenciado
a) Adicionar una nueva clase con los siguientes datos:
Name: Punto2D
Click en el botn Finish
b) A continuacin se muestra el cdigo de la clase Punto2D:
III.
Nro. DD-106
Pgina 4 de 14
Lab 10
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 Finish
b) A continuacin se muestra el cdigo de la clase Punto3D:
Nro. DD-106
Pgina 5 de 14
Lab 10
Aqu 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.pr
+
intln
System.out.pr
+
intln
d) Ejecute el programa y verifique que se muestre correctamente el resultado.
Nro. DD-106
Pgina 6 de 14
Lab 10
Agregaremos una nueva clase para la clase Ortoedro con los siguientes datos:
Name: Ortoedro
Click en el botn Finish
g) 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:
i)
System.out.pri
System.out.pr
+
ntln
intln(
Ejecute el programa y verifique que se muestre correctamente el rea, volumen y diagonal de un
ortoedro.
Nro. DD-106
Pgina 7 de 14
Lab 10
Ejercicio propuesto: Segundo ejemplo de aplicacin Creacin de una serie de clases para calcular
reas y volmenes de poligonos regulares, prismas y pirmides
k) Crear un nuevo proyecto con los siguientes datos:
Project name: tut_java_int_005_poliedros
l) Adicione una nueva clase con los siguientes datos:
Name: PoligonoRegular
Click en el botn Finish
m) A continuacin se muestra la estructura de la clase PoligonoRegular:
Nro. DD-106
Pgina 8 de 14
Lab 10
r)
Nro. DD-106
Pgina 9 de 14
Lab 10
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.pri
ntln (
System.out.pri
ntln (
System.out.pri
ntln (
System.out.pri
ntln (
System.out.pri
ntln (
Nro. DD-106
Pgina 10 de 14
Lab 10
+
+
+
Nro. DD-106
Pgina 11 de 14
Lab 10
Nro. DD-106
Pgina 12 de 14
Lab 10
Informacin Adicional:
http://www.disfrutalasmatematicas.com/geometria/poligonos-regulares.html
Propiedades de los polgonos regulares
Polgono
Un polgono es una figura plana (bidimensional) cerrada con lados rectos. Algunos ejemplos son tringulos,
cuadrilteros, pentgonos, hexgonos, etc.
Regular
Un "polgono regular" tiene todos los lados iguales y todos los ngulos iguales. Si no, es irregular.
Pentgono regular
Pentgono irregular
ngulo interior
El ngulo interior de un polgono regular de "n" lados se calcula con la
frmula:
(n-2) 180 / n
Por ejemplo el ngulo interior de un octgono (8 lados) es:
(8-2) 180 / 8 = 6180/8 = 135
Y el de un cuadrado es (4-2) 180 / 4 = 2180/4 = 90
ngulo exterior
Los ngulos exterior e interior se miden sobre la misma lnea, as que
suman 180.
Por lo tanto el ngulo exterior es simplemente 180 - ngulo interior
El 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
Diagonales
Todos 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)
Nro. DD-106
Pgina 13 de 14
Lab 10
Frmulas
Si 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:
tan(/n)
Apotema
(Lado/2)
Lado = 2 Apotema
tan(/n)
Hay muchas ms relaciones como estas (casi todas son "reordenamientos"), pero con estas nos vale por ahora.
rea
Ahora 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 rea
Si 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)
Nro. DD-106
Pgina 14 de 14
Lab 10
VIII.- OBSERVACIONES:
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.