You are on page 1of 19

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE INGENIERIA DE SISTEMAS

TRABAJO COLABORATIVO 3 PROGRAMACIN ORIENTADA A OBJETOS

JESUS FELIPE RAMIREZ TORRES 16917697 LUIS GABRIEL GARZON

GRUPO. 301403_10

TUTOR CESAR ORLANDO JIMENEZ ANGARITA

CEAD-PALMIRA
2013

INTRODUCCIN

Dentro de los propsitos establecidos para la presente actividad, se tiene el poder realizar un recorrido y anlisis por los diferentes captulos de la unidad tres, en aras de continuar tratando las temticas que conforman el presente curso. En ste trabajo colaborativo nmero tres, se desarrollan temas como lenguajes clsicos como SmallTalk se basan en ella. Dado que la Programacin Orientada a Objetos se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolucin del problema se realiza en trminos de objetos, un lenguaje se dice que est basado en objetos si soporta objetos como una caracterstica fundamental del mismo. La Programacin Orientada a Objetos, aunque no es de origen remoto ha cobrado auge en el mundo tecnolgico, es por ello que hoy da encontramos implementaciones tanto de funcionalidad como grficas en los celulares, pginas web etc. Y se sigue obteniendo mejoras cada que resurge una versin. Durante el desarrollo de la presente actividad en lo referente a de las unidades del mdulo se reforzaron conceptos importantes como es el de programacin, concepto bsico para disear un programa de computadora, ya que un programase puede dividir y ser escrito en lenguajes distintos, para llevar a cabo la programacin orientada a objetos es necesario utilizar una metodologa de programacin entendiendo y manejando fcilmente sus conceptos ms relevantes.

UNIDAD 3 CLASES Y HERENCIA EN LA PROGRAMACION ORIENTADA A OBJETOS CAPITULO 7. CLASES BASICAS EN LA POO 1. Investiga cuales son las herramientas utilizas en java y diga cul es su funcin. Con cada una de las versiones que Sun lanza del JDK, se acompaa de una serie de bibliotecas con clases estndar que valen como referencia para todos los programadores en Java. Estas clases se pueden incluir en los programas Java, sin temor a fallos de portabilidad. Adems, estn bien documentadas (mediante pginas Web), y organizadas en paquetes y en un gran rbol de herencia. A este conjunto de paquetes (o bibliotecas) se le conoce como la API de Java (Application Programming Interface).A continuacin se explicara los paquetes bsicos de la API de JAVA, aunque algunos de ellos tienen sub paquetes. Paquetes de utilidadesjava.lang: Fundamental para el lenguaje. Incluye clases como String oStringBuffer. java.io: Para la entrada y salida a travs de flujos de datos, y ficheros del sistema. java. til: Contiene colecciones de datos y clases, el modelo de eventos, facilidades horarias, generacin aleatoria de nmeros, y otras clases de utilidad. java.math: Clases para realizar aritmtica con la precisin que se desee. java.text: Clases e interfaces para manejo de texto, fechas, nmeros y mensajes de una manera independiente a los lenguajes naturales. java.security:

Clases e interfaces para seguridad en Java: Encriptacin RSA. Paquetes para el desarrollo grfico java.applet: Para crear applets y clases que las applets utilizan para comunicarse con su contexto. java.awt: Para crear interfaces con el usuario, y para dibujar imgenes y grficos. javax.swing: Conjunto de componentes grficos que funcionan igual en todas las plataformas que Java soporta. javax.accesibility: Da soporte a clases de accesibilidad para personas discapacitadas. java.beans: Para el desarrollo de JavaBeans. Paquetes para el desarrollo en red java.sql: Paquete que contiene el JDBC, para conexin de programas Java con Bases de datos. java.rmi: Paquete RMI, para localizar objetos remotos, comunicarse con ello se incluso enviar objetos como parmetros de un objeto a otro. org.omg.CORBA: Facilita la posibilidad de utilizar OMG CORBA, para la conexin entre objetos distribuidos, aunque est codificados en distintos lenguajes.

2. Construye un arreglo donde incluya un mtodo. public class mtodo { public static double calcular (double a, double b, double c) {

double resultado = 0; resultado = ((b * b) - (4 * a * c)) / (2 * a); return resultado; } public static void main(String[] args) { double a = 1, b = 5, c = 2; double resultado = 0; resultado = calcular(a, b, c); System.out.println(El resultado es + resultado); } }

2. Realice un mapa conceptual con el siguiente tema E/s.

E/S en JAVA

DOS TIPOS DE E/S

Operaciones que contribuyen al flujo de informacin del programa con el exterior

Relacionados con los dispositivos fisicos

De ficheros

estandar Proporcionadas por el paquete estndar API de JAVA O JAVA.IO Se aplican las mismas clases y mtodos de las E/S a cualquier tipo de dispositivo

Ficheros de disco

Con la pantalla

Ficheros binarios

Ficheros de texto

Sistem.err Salida de error Incorpora todo tipo de interfaces, clases y excepciones, para acceder a todo tipo de ficheros.

Tipo de acceso

Sistem.out print Salida de error

Secuencial y aleatorio

Sistem.in (read) teclado

4. Realice una abstraccin jerrquica de su carro donde enuncie el sistema principal y los subsistemas. Sistema principal Motor Subsistemas -Sistema Elctrico -Sistema de refrigeracin -Sistema de combustible -Sistema de frenos -Sistema de Direccin -Sistema de Potencia -Sistema de escape -Sistema de apoyo 5. Escriba los enunciados que ejecuten cada uno de los siguientes: Introduzca el valor en el elemento 4 de un arreglo de punto flotante de un solo subndice b. /** Crea un nuevo arreglo de intarray agregando un valor al elemento 4 con valor n. */ public int[] addArrayElement(int n) {

int[] newarray = new int[intarray.length + 1]; for (int i = 0;i < intarray.length;i++) { newarray[i] = intarray[i]; } newarray[intarray.length] = n; return newarray; }

6. Determine e imprima los valores ms pequeos y ms contenidos en un arreglo de punto flotante w de 99 elementos. public static void quicksort_menormayor(int[] listado,int i,int j) { if (i>=j){return; } int p = dividiren_menormayor(listado,i,j); quicksort_menormayor(listado,i,p-1); quicksort_menormayor(listado,p+1,j); } //final del mtodo principal de quicksort public static int dividir en_menormayor(int[] listado,int i,int j) { int p= i; i++; while (true) { while (i < j && listado[i]<=listado[p]){i++;

} while (i < j && listado[j]>=listado[p]){j--; } if (i == j) break; swap(listado,i,j); } if (listado[p]<listado[i]){i--; } swap(listado,p,i); return i; } //final del mtodo que divide y ordena

ACTIVIDADES COMPLEMENTARIAS CAPITULO 9: 1. Realiza un mapa conceptual sobre las clases que se manejan en java
CLASES EN JAVA

El nucleo para la construccion logica en POO encapsulacion herencia poliformismo

Donde las clases pueden ser declaradas como

Una clase puede deriverse en otras (extends) y hereda todas sus clases y metodos

Publicas(public)

Package (accessible solo para otras clases de paquetes)

Los objetos de distintas clases pertenecientes a una misma jerarquia que pueden tratarse de una forma general e individualizada al mismo tiempo

2. Investigar ms sobre anidado de clases y reflexiona sobre cul es la funcin importante en java. Java le permite definir una clase dentro de otra clase. Tal clase se llama clase anidada Y se ilustra aqu: class OuterClass { //clase externa ... class NestedClass { //clase anidada ... } } Una clase anidada es un miembro de su clase contenedora y tiene acceso a otros miembros de la clase contenedora, as se declaran privados. Una clase anidada puede declararse private, public, protected, o privada al paquete, es decir e que las clases exteriores solamente pueden declararse public o privadas al paquete.

Las clases anidadas se dividen en dos categoras: estticas y no estticas. Las clases anidadas que se declaran static se llaman simplemente clases estticas anidadas. Las clases no estticas anidadas se llaman clases internas. class OuterClass { //clase externa ... static class StaticNestedClass { //clase esttica anidada ... } class InnerClass { //clase interna ... } }

Hay varias razones importantes para usar clases anidadas, entre estas: -Es una forma de agrupar clases lgicamente que solo se usan en un lugar. Si una clase es til solamente a otra clase, entonces es lgico anidarla en esa clase y mantenerlas juntas. La anidacin tal como "clases de ayuda" hace sus paquetes ms uniformes. -Incrementa la encapsulacin. Considerndose dos clases de nivel superior, A y B, donde B necesita acceso a los miembros de A que de otra forma seran declarados private. Alesconder la clase B dentro de la clase A, los miembros de A pueden declararse privados y B puede accederlos. Adems, B en s mismo puede esconderse del mundo exterior. -Las clases anidadas pueden conducir a un cdigo ms legible y mantenible. Anidar clases pequeas dentro de clases de nivel superior ubica el cdigo ms cerca de donde se usa. Clases Estticas Anidadas: Como con mtodos y variables, una clase anidada esttica se asocia con su clase exterior. Y como los mtodos estticos de clase, una clase anidada esttica no puede referirse directamente a variables o mtodos de instancia definidos en su clase contenedora, puede usarlas solamente a un objeto de referencia. Las clases estticas anidadas se acceden usando el nombre de la clase contenedora:

ClaseExterna.ClaseEstaticaAnidada Por ejemplo, para crear un objeto para la clase esttica anidada, use esta sintaxis: ClaseExterna.ClaseEstaticaAnidada objetoAnidado = new ClaseExterna.ClaseEstaticaAnidada(); Clases Internas o no Estticas: Como con mtodos y variables de instancia, una clase interna se asocia con una instancia de su clase contenedora y tiene acceso directo a los mtodos y campos de ese objeto. Tambin, ya que una clase interna se asocia con una instancia, no puede definir ningn miembro esttico por s misma. Los objetos que son instancias de una clase interna existen dentro de una instancia de la clase externa. Considere las siguientes clases: class OuterClass { //clase externa ... class InnerClass { //clase interna ... } }

3. Qu es una subclase y cul es su funcin? Una subclase es la descripcin de una clase basada en la estructura de otra clase, se puede mirar como una extensin de la superclase, donde se pueden tomar las caractersticas de la superclase, y adicionarle nuevas caractersticas. Este concepto suele confundirse con el concepto de herencia, pero no siempre puede decirse que una subclase es una herencia, ya que sta puede redefinir (override) todo lo de su superclase, luego no heredara nada. En la herencia se reciben las definiciones de la superclase y se usan conjuntamente con nuevas definiciones; heredar es compartir atributos entre una clase y sus subclases; sino comparte, no hay herencia.

// Definicin de la subclase recell SubClass reCell of Cell is

var backup:integer:=0; override set (n:integer) is self.backup:=self.contents; super.set(n); end; method restore() is Self.contents:=self.backup; end; end; // Creacin de objetos tipo reCell: objRecell1 new reCell; objRecell2 new reCell;

Con self tenemos acceso a los atributos de la clase desde su interior; para acceder a los atributos de la clase padre, se usa sper. La subclase es un mecanismo para evitar reescribir las definiciones de una clase que queremos usar en esa subclase por lo que una subclase es mayor (o igual) que la superclase, ya que la subclase contiene todo lo que tenga su superclase y an ms. Por esto, se dice que una subclase es una especializacin de la superclase; de forma anloga, una superclase es una generalizacin de una subclase, es decir, ms pequeo es ms especfico, ms grande es ms general. 4. cul es la funcin principal de los mtodos en la programacin java? Los mtodos son las operaciones que pueden realizarse sobre el objeto, que normalmente estarn incorporados en formas de programas (en cdigo) que el objeto es capaz de ejecutar y que tambin pone a disposicin de sus descendientes a travs de la herencia y su funcin principal en Java es representar una operacin o funcin que un objeto realiza, el conjunto de los mtodos de un objeto son los que determinan el comportamiento del objeto. 5. Cul es la importancia de los cdigos genricos en java? La importancia de los cdigos genricos en Java es que hacen el cdigo ms legible y seguro y

Permite que el uso de una herramienta de diseo tenga soporte directo en el lenguaje y as los problemas de diseo que tenan que ser abordados de forma indirecta dando lugar a soluciones poco satisfactorias, puedan ser resueltos mediante soluciones de diseo simples. 6. Cul es la funcin principal de los protocolos para el trabajo en red? La funcin principal de los protocolos para el trabajo en red es la interconexin para el transporte y trasmisin de datos a travs de la misma. 7. Cules son las ventajas para utilizar redes a nivel de comunicaciones: Algunas ventajas son: -Posibilidad de compartir grandes cantidades de informacin a travs de distintos programas, bases de datos, etc., de manera que sea ms fcil su uso y actualizacin. -Integridad, confidencialidad y seguridad de datos. -Facilita la comunicacin entre dos usuarios en lugares distantes. -La transmisin se realiza en tiempo real, siendo adecuado para comunicacin de voz y video. -Acaparamiento de recursos. Los nodos que intervienen en la comunicacin disponen en exclusiva del circuito establecido mientras dura la sesin. -Se multiplexan mensajes de varios procesos hacia un mismo destino, y viceversa, sin que los solicitantes deban esperar a que se libere el circuito -El canal se libera mucho antes que en la conmutacin de circuitos, lo que reduce el tiempo de espera necesario para que otro remitente enve mensajes. -Si hay error de comunicacin se retransmite una menor cantidad de datos. -En caso de error en un paquete solo se reenva ese paquete, sin afectar a los dems que llegaron sin error. -Comunicacin interactiva. Al limitar el tamao mximo del paquete, sea segura que ningn usuario pueda monopolizar una lnea de transmisin durante mucho tiempo (microsegundos), por lo que las redes de conmutacin de paquetes pueden manejar trfico interactivo. -Aumenta la flexibilidad y rentabilidad de la red.

8. Haga una lista con los protocolos ms importantes a nivel de comunicaciones.

-FTP: (File Transfer Protocol) para transferencia de archivos -HTTP: (HyperText Transfer Protocol) para accede a las paginas web -NFS: (Sistema de archivos de red) sistema distribuido para archivos -POP: (Post Office Protocol) para correo electrnico -IMAP4: protocolo es tratado en (RFC 1730) y es revisado en (RFC 2060). -TCP/IP: Lo componen los dos protocolos ms importantes que son; Protocolo de Control de Transmisin (TCP) y Protocolo de Internet(IP) -ARP: (Address Resolution Protocol) para la resolucin de direcciones -SSL: (Secure Socket Layer) para la comunicacin segura entre dos ordenadores -ICMP: (Protocolo de Mensajes de Control de Internet) para notificar eventosen los que los paquetes enviados no alcanzaron su destino -SMTP: (Simple Mail Transfer Protocol) para correo electrnico

9. Cual es la estructura de una applet?

import java.awt.Graphics; import java.applet.*; public class EsqueletoApplet extends Applet { public void init() { } public void start() { } public void stop() { } public void destroy() { } public void paint(Graphics g) { } } -Primer mtodo en ser invocado. -Segundo mtodo en ser llamado, despus de init(). Tambin se ejecuta cuando un applet se vuelve a cargar. -Se ejecuta cuando se detiene el applet -Se ejecuta cuando se termina el applet. Es el ltimo mtodo que se ejecuta. -Se ejecuta cuando la ventana del applet tiene que ser restaurada.

10. Cmo se controlan las applets? Los applets se controlan con los siguientes mtodos: Mtodo init ( ): Se llama automticamente en cuanto el browser carga el applet.Este mtodo se ocupa de las tareas de inicializacin. Mtodo start ( ): Se llama automticamente en cuanto el applet se hace visible, despus de haber sido inicializado. Es habitual crear threads en este mtodo para aquellas tareas que, por el tiempo que requieren, dejaran sin recursos alapplet o incluso al browser. Un ejemplo de ests son las animaciones. Mtodo stop ( ): Se llama de forma automtica al ocultar el applet, detiene la ejecucin. Mtodo destroy ( ): Se llama a este mtodo cuando el applet va a ser descargado para liberar los recursos que tenga reservados, hace limpieza final. 11. Dnde se inicia la ejecucin de una applet? Explique su respuesta con un ejemplo. Un applet es un pequeo programa escrito en Java, el cual se ejecuta En unaventana de nuestro navegador de Internet. Por ejemplo si diseamos unap gina web podemos agregarle lo siguiente ->Puede ser presentar una imagen, una animacin, un formulario, un texto animado o esttico, un programa que represente grficas cientficas, un juego... mediante la programacin de un applet. Hoy en da el uso de Applets se ha concentrado principalmente en dos tipos de diseos: -Informacin en Tiempo Real: Este tipo de aplicacin se refiere aquella querequere ser colocada dentro de un "Browser" y debe ser actualizada constantemente, en este caso el Applet contiene la lgica necesaria para conectarse a una Base de Datos y/o redisear su propia interface, lo anterior sin la necesidad de navegar a lo largo de varios documentosHTML / XHTML, o bien, recargar una pgina. -Manipulacin de Grficas: Mediante un Applet tambin es posible llevar a cabo la manipulacin excntrica de grficas para ser colocadas dentro del diseo de pginas HTML / XHTML.

Estructura de un applet import java.awt.Graphics;

import java.applet.*; public class EsqueletoApplet extends Applet { public void init(){ } public void start(){ } public void stop(){ } public void destroy(){ } public void paint(Graphics g){ } } Primer mtodo en ser invocado. Segundo mtodo en ser llamado, despus de init(). Tambin se ejecuta cuando un applet se vuelve a cargar. Se ejecuta cuando se detiene el applet Se ejecuta cuando se termina el applet. Es el ltimo mtodo que se ejecuta. Se ejecuta cuando la ventana del applet tiene que ser restaurada.

CONCLUSIONES

-Hemos podido identificar los conceptos de Herencia y Clases en lo referente a la Programacin Orientada a Objetos. -Encontramos una serie de trminos que son exclusivos en la programacin a objetos permitindonos hallar sus funciones y aplicaciones en el campo tecnolgico. -Podemos decir que Java utiliza una tecnologa bsica de C++ con algunas mejoras y elimina algunas cosas para mantener el objetivo de la simplicidad del lenguaje. -Hemos identificado que la Programacin Orientada a Objetos es importante en diversos aspectos de la vida del hombre para su desarrollo social. -Reconocimos qu es un Applets y cmo se controlan.

CITAS BIBLIOGRAFICAS -Jimnez Angarita, Cesar Orlando. Mdulo de Programacin Orientada a Objetos2010. UNAD. -Fco Javier Ceballos, Programacin Orientada a Objetos con C++,Editorial Alfaomega, 1.998. -Nathan Meyers, Programacin JAVA en Linux, Editorial Prentice Hall, 2.000. -Los tutoriales de Java. Consultado el 14 de noviembre de 2011 en:http://redir.no-ip.org/tutorial/java/javaOO/nested.html -Fundamentos de POO. Consultado el 14 de noviembre de 2011 en:http://msdn.microsoft.com/es-es/library/bb972232.aspx