You are on page 1of 6

ALGORITMOS Y ESTRUCTURAS DE DATOS LABORATORIO N 14

CONCEPTOS DE PROGRAMACIN ORIENTADA A OBJETOS


CODIGO DEL CURSO: R66218

Alumno(s)

Nota

Grupo Ciclo Fecha de entrega

II

REDES Y COMUNICACIONES DE DATOS PROGRAMA DE FORMACIN REGULAR

Laboratorio de Algoritmos y Estructuras de Datos I.- OBJETIVOS:


Ver las diferencias entre clases y objetos de Java. Identificar propiedades y mtodos de clases existentes en Java. Reconocer las caractersticas de encapsulamiento y polimorfismo en Java.

Nro. DD-106 Pgina 1 de 5

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:
CLASES, OBJETOS, MTODOS Y PROPIEDADES DE JAVA 1. Cree el proyecto 14_Clases_Objetos en su carpeta de trabajo. 2. Defina la clase ConceptosObjetos con el siguiente cdigo: public class ConceptosObjetos { public static void main(String[] args) { String t1 = "Tecsup"; String t2 = "Arequipa"; System.out.println(t1.toUpperCase()); System.out.println(t2.toLowerCase()); System.out.println(Math.PI); } } 3. Ejecute esta clase. Vamos a identificar algunos elementos importantes definidos en Java. En ConceptosObjetos hemos usado dos clases de Java: String y Math. Toda clase est definida dentro de un paquete. Puede indicar qu es un paquete en Java?

Est claramente identificado el paquete al cual pertenecen las clases String y Math?

Laboratorio de Algoritmos y Estructuras de Datos

Nro. DD-106 Pgina 2 de 5

Para poder determinar a qu paquete pertenecen String y Math vamos a realizar un cambio. Modifique la primera lnea del mtodo main de la siguiente manera: java.lang.String t1 = "Tecsup"; Vuelva a ejecutar la clase y compruebe que funciona igual. Indique entonces a qu paquete pertenecen las clases String y Math:

Nota: Cualquier clase de cualquier otro paquete necesita ser importada (instruccin import). 4. Hemos creados dos variables de tipo String, cules son?

A estas variables las denominamos objetos. En conclusin, las clases son los tipos de datos y los objetos son las variables de una clase determinada. Dicho de otra forma, crear una clase, es crear un nuevo tipo de datos. 5. Las clases tienen datos y funciones (tareas que pueden realizar). Cmo se llaman las funciones en Java?

Cmo se llaman los datos de clases en Java?

6. En las siguientes lneas de cdigo, resalte los mtodos usados de la clase String: System.out.println(t1.toUpperCase()); System.out.println(t2.toLowerCase()); En la siguiente lnea de cdigo, resalte la propiedad de la clase Math: System.out.println(Math.PI); En sus propias palabras, indique qu es un mtodo:

En sus propias palabras, indique qu es una propiedad:

ENCAPSULAMIENTO 1. Al mtodo main, agregue la siguiente lnea: System.out.println(Math.pow (16, 0.25)); Podra indicar cmo funciona en detalle el mtodo pow o cualquier otro mtodo de la clase Math?

Para poder utilizar los mtodos, no es necesario saber cmo fueron desarrollados o implementados. Esto es encapsulamiento.

Laboratorio de Algoritmos y Estructuras de Datos


Defina en sus propias palabras qu es encapsulamiento:

Nro. DD-106 Pgina 3 de 5

2. Usando el mtodo main, determine cuntos mtodos max y cuntos min tiene la clase Math:

Sabiendo que hay ms de un mtodo max, indique en que se diferencian uno de otro:

El hecho de tener ms de un mtodo con el mismo nombre es conocido, en programacin orientada a objetos, como sobrecarga de mtodos. 3. Agregue el siguiente cdigo al final del mtodo main: t1 = Integer.toString(10); t2 = Long.toString(1000000000); String t3 = Double.toString(3.14159); Qu mtodo en comn encuentra en las clases Integer, Long y Double?

Este mtodo en comn, sirve para lo mismo?

El tener varias clases usando el mismo mtodo para el mismo objetivo es otra manera de polimorfismo.

CLASES, OBJETOS, MTODOS Y PROPIEDADES DE USUARIO 1. Suponiendo que necesitramos crear varios rectngulos (no para dibujarlos) y no contamos en Java con la(s) clase(s) necesaria(s) para ellos, lo que tendramos que hacer es declarar una clase por nuestra cuenta. Esta clase la llamaremos Rectangulo y podramos crear un par de objetos llamados rec1 y rec2. Cada rectngulo que declaremos debe tener un par de propiedades llamadas largo y alto. Estas propiedades deberamos poder alterarlas en cualquier momento. Adicionalmente deberemos tener algunos mtodos, como por ejemplo: getArea() que nos retorne el rea del rectngulo y otros ms. Para ello, vamos a crear dos clases: Rectangulo y PruebaRectangulo que contendr un mtodo main donde probaremos lo que vayamos realizando en la clase Rectangulo. 2. Cree la clase Rectangulo con el siguiente cdigo: public class Rectangulo { public int largo, alto; public Rectangulo() { largo = 1; alto = 1; } public long getArea() { return largo * alto; } }

Laboratorio de Algoritmos y Estructuras de Datos


Cuntos mtodos se han definido en esta clase? Cules son?

Nro. DD-106 Pgina 4 de 5

Cuntas propiedades se han definido en esta clase? Cules son?

Intente ejecutar esta clase, por qu no puede hacerlo?

3. Cree la clase PruebaRectangulo con el siguiente cdigo: public class PruebaRectangulo { public static void main(String[] args) { Rectangulo r1 = new Rectangulo(); System.out.println(r1.largo); System.out.println(r1.alto); } } Cuntos objetos se han definido en el mtodo main de PruebaRectangulo? Cules son?

Ejecute PruebaRectangulo e indique qu valores han asumido las propiedades largo y alto.

Agregue el siguiente cdigo al mtodo main antes de las lneas de impresin: r1.largo = 4; r1.alto = 2; Como puede ver, es posible modificar las propiedades de los objetos definidos como pblicos. 4. Las propiedades modificadas previamente, se definen en la clase Rectangulo. Estas propiedades se establecen automticamente para cada objeto nuevo de acuerdo a la parte resaltada del mtodo main: Rectangulo r1 = new Rectangulo(); Nota: Como puede observar en la clase Rectangulo, existe un mtodo llamada Rectangulo(), el mismo nombre que la clase, que se encarga de establecer los valores iniciales de las propiedades. Este tipo de mtodo se denomina mtodo constructor. Ejercicio: 1. Implementar una clase denominada triangulo que defina como atributos su base y altura y tenga mtodos para calcular el rea y permetro del mismo 2. Implementar una clase denominada circulo que defina como atributos su radio y tenga mtodos para calcular el rea, longitud de circunferencia y dimetro del mismo 3. Proponga una clase asociada a alguna otra figura geomtrica que usted conozca y que permita calcular su rea, permetro y volumen (slo en el caso que el tipo de figura sea tridimensional)

Laboratorio de Algoritmos y Estructuras de Datos VIII.- OBSERVACIONES Y CONCLUSIONES

Nro. DD-106 Pgina 5 de 5

You might also like