Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LABORATORIO N° 12
HERENCIA EN PROGRAMACIÓN
ORIENTADA A OBJETOS
Alumno(s) Nota
Grupo
Ciclo II
Fecha de entrega
I.- OBJETIVOS:
Identificar las principales características 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 manipulación del
hardware, conexiones eléctricas o de red; así como la ingestión
de alimentos o bebidas.
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, créela.
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:
INTRODUCCIÓN
- Implementar un programa en Java implica generalmente crear varias clases. Muchas de estas clases
incluyen propiedades o métodos repetidos.
- La “herencia” permite crear una clase raíz, denominada clase padre, la cual contenga todos los elementos
comunes identificados.
- Aplicando la herencia se pueden crear clases descendientes de la clase raíz anterior, denominadas clases
hijas, las cuales heredaran todos los métodos 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 raíz original). Así se pueden crear jerarquías de clases a través de la Herencia.
I. Primer ejemplo de aplicación – Creación de una clase para calcular áreas, perímetro 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 botón Finish
c) A continuación se muestra la estructura de la clase Rectangulo:
Nro. DD-106
Programación Orientada a Objetos
Página 2 de 11
HERENCIA DE CLASES Lab 10
d) Agregaremos una nueva clase para la clase Cuadrado, que sea hija de la clase Rectángulo, con los siguientes datos:
Name: Cuadrado
Click en el botón Finish
e) A continuación se muestra la estructura de la clase Cuadrado:
Nota: Observe que la clase Cuadrado no incluye métodos para calcular, área, perímetro ni
diagonal. Pero está heredando dichos métodos de la clase Rectangulo
Nro. DD-106
Programación Orientada a Objetos
Página 3 de 11
HERENCIA DE CLASES Lab 10
f) Adicione una clase denominada Herencia1 que contenga el método main(). Luego adicione a la función main() el
siguiente código que permite crear un OBJETO de la clase Cuadrado y luego llama indistintamente a los métodos
que ella contiene:
System.out.println +
System.out.println +
System.out.println
+
}
g) Ejecute el programa y verifique que se muestre correctamente el área, perímetro 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 botón Finish
b) A continuación se muestra el código 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 botón Finish
b) A continuación se muestra el código de la clase Punto3D:
Nro. DD-106
Programación Orientada a Objetos
Página 4 de 11
HERENCIA DE CLASES Lab 10
c) Adicione al método main() el siguiente código 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.println +
System.out.println +
d) Ejecute el programa y verifique que se muestre correctamente el resultado.
e) Indique los detalles mas importantes del ejercicio realizado
f) Agregaremos una nueva clase para la clase Ortoedro con los siguientes datos:
Name: Ortoedro
Click en el botón Finish
g) A continuación se muestra la estructura de la clase Ortoedro:
Nro. DD-106
Programación Orientada a Objetos
Página 5 de 11
HERENCIA DE CLASES Lab 10
h) Adicione el siguiente código al método main() que permite crear un OBJETO de la clase Ortoedro y
luego llama indistintamente a los métodos que ella contiene:
System.out.println ( +
Ejercicio propuesto: Segundo ejemplo de aplicación – Creación de una serie de clases para calcular
áreas y volúmenes de poligonos regulares, prismas y pirámides
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 botón Finish
Nro. DD-106
Programación Orientada a Objetos
Página 6 de 11
HERENCIA DE CLASES Lab 10
PoligonoRegular
Clase padre
Prisma
Clase hija
Piramide
Clase hija
TroncoPiramide
Clase hija
t) Adicione el siguiente código al método onCreate() que permite crear OBJETOS de las clases
PoligonoRegular, Prisma, Piramide, y TroncoPiramide, luego llame indistintamente a los métodos
que ellas contienen:
System.out.println ( +
System.out.println ( +
System.out.println ( +
System.out.println ( +
System.out.println ( +
Información Adicional:
http://www.disfrutalasmatematicas.com/geometria/poligonos-regulares.html
Propiedades de los polígonos regulares
Polígono
Un polígono es una figura plana (bidimensional) cerrada con lados rectos. Algunos ejemplos son triángulos,
cuadriláteros, pentágonos, hexágonos, etc.
Regular
Un "polígono regular" tiene todos los lados iguales y todos los ángulos iguales. Si no, es irregular.
Ángulo interior
El ángulo interior de un polígono regular de "n" lados se calcula con la
fórmula:
(n-2) × 180° / n
Por ejemplo el ángulo interior de un octágono (8 lados) es:
(8-2) × 180° / 8 = 6×180°/8 = 135°
Y el de un cuadrado es (4-2) × 180° / 4 = 2×180°/4 = 90°
Ángulo exterior
Los ángulos exterior e interior se miden sobre la misma línea, así que
suman 180°.
Por lo tanto el ángulo exterior es simplemente 180° - ángulo interior
El ángulo interior de este octágono es 135°, así que el ángulo exterior es
180°-135° = 45°
Diagonales
Todos los polígonos (menos los triángulos) tienen diagonales
(líneas que van de un vértice a otro, pero que no son lados).
El número de diagonales es n(n - 3) / 2.
Ejemplos:
un cuadrado tiene 4(4-3)/2 = 4×1/2 = 2 diagonales
un octágono tiene 8(8-3)/2 = 8×5/2 = 20 diagonales
(Nota: esto vale para polígonos regulares e irregulares)
Fórmulas
Si tomamos un "sector" de un polígono regular de "n" lados y lo cortamos por la mitad, tenemos un triángulo
pequeño que contiene toda la información importante:
Hay muchas más relaciones como estas (casi todas son "reordenamientos"), pero con estas nos vale por ahora.
Área
Ahora es fácil calcular el área... ¡sólo sumar las áreas de todos los triángulos!
El área de un triángulo es la mitad de la base por la altura, así que:
Área del triángulo pequeño = ½ × Apotema × (Lado/2)
Y sabemos (por la fórmula con "tan" de arriba) que:
Lado = 2 × Apotema × tan(π/n)
Así que: Área del triángulo pequeño = ½ × Apotema × (Apotema × tan(π/n))
= ½ × Apotema2 × tan(π/n)
Y hay dos triángulos por lado, o sea 2n en todo el polígono:
Área del polígono = n × Apotema2 × tan(π/n)
¡La verdad es que es una fórmula muy simple!
Otras fórmulas del área
Si no sabes cuánto mide el apotema, podemos sacar fórmulas con el radio y el lado:
Área del polígono = ½ × n × Radio2 × sin(2 × π/n)
Área del polígono = ¼ × n × Lado2 / tan(π/n)
Nro. DD-106
Programación Orientada a Objetos
Página 11 de 11
HERENCIA DE CLASES Lab 10