Está en la página 1de 12

PROGRAMACION ORIENTADA A OBJETOS

LABORATORIO N° 12

HERENCIA EN PROGRAMACIÓN
ORIENTADA A OBJETOS

CODIGO DEL CURSO: R66218

Alumno(s) Nota

Grupo
Ciclo II
Fecha de entrega

REDES Y COMUNICACIONES DE DATOS


PROGRAMA DE FORMACIÓN REGULAR
Nro. DD-106
Programación Orientada a Objetos
Página 1 de 11
HERENCIA DE CLASES Lab 10

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.

III.- FUNDAMENTO TEÓRICO:

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.

 Los procedimientos de creación de proyectos se encuentran detallados en la guía 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.- METODOLOGÍA PARA EL DESARROLLO DE LA TAREA:


 El desarrollo del laboratorio es individual.

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:

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

public static void main(String[] args) {

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

Aquí se define a Punto3D


como clase hija de
Punto2D

super() sirve para llamar al


constructor de la clase padre

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:

public static void main(String[] args) {

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

Aquí se define a Ortoedro como


clase hija de Rectangulo

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:

public static void main(String[] args) {

System.out.println ( +

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 realizado

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

m) A continuación se muestra la estructura de la clase PoligonoRegular:

PoligonoRegular
Clase padre

Prisma
Clase hija

Piramide
Clase hija

TroncoPiramide
Clase hija

n) Adicionar una nueva clase con los siguientes datos:


 Name: Prisma
 Click en el botón Finish
o) A continuación se muestra la estructura de la clase Prisma:
Nro. DD-106
Programación Orientada a Objetos
Página 7 de 11
HERENCIA DE CLASES Lab 10

p) Adicionar una nueva clase con los siguientes datos:


 Name: Piramide
 Click en el botón Finish
q) A continuación se muestra la estructura de la clase Piramide:

r) Adicionar una nueva clase con los siguientes datos:


 Name: TroncoPiramide
 Click en el botón Finish
s) A continuación se muestra la estructura de la clase TroncoPiramide:
Nro. DD-106
Programación Orientada a Objetos
Página 8 de 11
HERENCIA DE CLASES Lab 10

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:

public static void main(String[] args) {

System.out.println ( +

System.out.println ( +

System.out.println ( +

System.out.println ( +

System.out.println ( +

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


Nro. DD-106
Programación Orientada a Objetos
Página 9 de 11
HERENCIA DE CLASES Lab 10

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.

Pentágono regular Pentágono 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°

El ángulo interior de un hexágono es 120°, así que el ángulo exterior es


180°-120° = 60°

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)

Circunferencia inscrita, circunscrita, radio y apotema


"Circunferencia inscrita, circunscrita, radio y apotema... "
Suena musical si lo repites unas cuantas veces, pero sólo son los nombres de los círculos "exterior" e "interior" (y
sus radios) que se pueden dibujar en un polígono regular, así:
Nro. DD-106
Programación Orientada a Objetos
Página 10 de 11
HERENCIA DE CLASES Lab 10

La circunferencia "exterior" se llama circunscrita (a veces


también "circuncírculo"), y conecta los vértices del polígono.
La circunferencia "interior" se llama inscrita (a veces también
"incírculo"), y toca cada lado del polígono en el punto medio.
El radio de la circunferencia circunscrita es también el radio
del polígono.
El radio de la circunferencia inscrita es el apotema del
polígono.

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:

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


El triángulo pequeño es rectángulo 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) = (Lado/2) / Lado = 2 × Apotema ×


Apotema tan(π/n)

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

Fórmulas del tronco de pirámide

VIII.- OBSERVACIONES Y CONCLUSIONES

También podría gustarte