Vous êtes sur la page 1sur 15

PROGRAMACION ORIENTADA A OBJETOS

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

DISEO DE SOFTWARE E INTEGRACIN DE SISTEMAS


PROGRAMA DE FORMACIN REGULAR

Nota

Programacin Orientada a Objetos


HERENCIA DE CLASES

Nro. DD-106
Pgina 1 de 14
Lab 10

I.- 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 rectangulo
a) Crear un nuevo proyecto con los siguientes datos:
Project name:

tut_java_int_004

b) Crear una nueva clase con los siguientes datos:


Name: Rectangulo
Click en el botn Finish
c) A continuacin se muestra la estructura de la clase Rectangulo:

Programacin Orientada a Objetos


HERENCIA DE CLASES

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:

Aqu se define a Cuadrado


como clase hija de
Rectangulo
super() sirve para llamar
al constructor de la clase
padre

Nota: Observe que la clase Cuadrado no incluye mtodos para calcular,


rea, permetro ni diagonal. Pero est heredando dichos mtodos de
la clase Rectangulo

Programacin Orientada a Objetos


HERENCIA DE CLASES
f)

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:

public static void main(String[] args) {

System.out.pr
intln
System.out.pr
intln
System.out.pr
intln

+
+
+

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 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:

Programacin Orientada a Objetos


HERENCIA DE CLASES

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:

Programacin Orientada a Objetos


HERENCIA DE CLASES

Nro. DD-106
Pgina 5 de 14
Lab 10

Aqu se define a
Punto3D como
clase hija de
Punto2D

super() sirve para


llamar al constructor
de la clase padre

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:

public static void main(String[] args) {

System.out.pr
+
intln
System.out.pr
+
intln
d) Ejecute el programa y verifique que se muestre correctamente el resultado.

Programacin Orientada a Objetos


HERENCIA DE CLASES

Nro. DD-106
Pgina 6 de 14
Lab 10

e) Indique los detalles mas importantes del ejercicio realizado


El 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 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:

public static void main(String[] args) {

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.

Programacin Orientada a Objetos


HERENCIA DE CLASES
j)

Nro. DD-106
Pgina 7 de 14
Lab 10

Indique los detalles mas importantes del ejercicio realizado


El 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 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:

n) Adicionar una nueva clase con los siguientes datos:


Name: Prisma
Click en el botn Finish
o) A continuacin se muestra la estructura de la clase Prisma:

Programacin Orientada a Objetos


HERENCIA DE CLASES

p) Adicionar una nueva clase con los siguientes datos:


Name: Piramide
Click en el botn Finish
q) A continuacin se muestra la estructura de la clase Piramide:

Nro. DD-106
Pgina 8 de 14
Lab 10

Programacin Orientada a Objetos


HERENCIA DE CLASES

r)

Adicionar una nueva clase con los siguientes datos:


Name: TroncoPiramide
Click en el botn Finish

s) A continuacin se muestra la estructura de la clase TroncoPiramide:

Nro. DD-106
Pgina 9 de 14
Lab 10

Programacin Orientada a Objetos


HERENCIA DE CLASES

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:

public static void main(String[] args) {

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

+
+
+

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

Programacin Orientada a Objetos


HERENCIA DE CLASES

Nro. DD-106
Pgina 11 de 14
Lab 10

Programacin Orientada a Objetos


HERENCIA DE CLASES

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)

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:

Programacin Orientada a Objetos


HERENCIA DE CLASES

Nro. DD-106
Pgina 13 de 14
Lab 10

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.

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:

(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) / Radio

Lado = 2 Radio sin(/n)

cos(/n) = Apotema / Radio

Apotema = Radio cos(/n)

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)

Programacin Orientada a Objetos


HERENCIA DE CLASES

Nro. DD-106
Pgina 14 de 14
Lab 10

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.

Vous aimerez peut-être aussi