Programa JAVA public class Operaciones { public int Resultado = 0; // Metodos de la Clase public int Sumar (int A , int B) { Resultado = A + B; System.out.println("Estoy Sumando " + A + "+" + B); System.out.println(" y El resultado fue "+ Resultado); return Resultado;
} // fin del metodo public int Restar(int A, int B) { Resultado = A - B; System.out.println("Estoy Restando " + A + "-" + B); System.out.println(" y El resultado fue "+ Resultado); return Resultado; } // fin del metodo } // fin de la clase
2. Cul es la diferencia de la programacin orientada a objetos con otros lenguajes? La programacin orientada a objetos se diferencia de la programacin estructurada en que esta anima al programador a pensar sobre todo en trminos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programacin estructurada slo se escriben funciones que procesan datos. Los programadores que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes solicitndoles que realicen sus mtodos por s mismos. Los lenguajes de programacin tradicionales no orientados a objetos, como C, Pascal, BASIC, o Modula-2, basan su funcionamiento en el concepto de procedimiento o funcin. Una funcin es simplemente un conjunto de instrucciones que operan sobre unos argumentos y producen un resultado. De este modo, un programa no es ms que una sucesin de llamadas a funciones, ya sean stas del sistema operativo, proporcionadas por el propio lenguaje, o desarrolladas por el mismo usuario. En el caso de los lenguajes orientados a objetos, elemento bsico no es la funcin, sino un ente denominado precisamente objeto. Un objeto es la representacin en un programa de un concepto, y contiene toda la informacin necesaria para abstraerlo: datos que describen sus atributos y operaciones que pueden realizarse sobre los mismos.
3Cules son las desventajas de la programacin orientada a objetos? Limitaciones para el programador. La tecnologa orientada a objetos no es nueva, un gran porcentaje de programadores no estn familiarizados con los conceptos de dicha tecnologa. En otras palabras, la lgica de la programacin estructurada sigue siendo predominante en la mayora de los desarrolladores de software, despus de haber revisado de forma breve los principios de la programacin orientada a objetos, nos es claro que en sta se requiere una lgica de pensamiento totalmente diferente a la lgica comnmente utilizada para la programacin estructurada.
Tamao excesivo en las aplicaciones resultantes. La gran mayora de los equipos de cmputo cuentan con capacidades tanto de almacenamiento como de memoria lo suficientemente buena como para ejecutar la mayora de las aplicaciones que puedan desarrollarse con la tecnologa orientada a objetos, sin embargo existen casos en los que lo anterior no se cumple. Velocidad de ejecucin. Esto tiene que ver, en cierto modo, con el punto anterior, una aplicacin innecesariamente pesada en muchas ocasiones es ms lenta de ejecutar que una aplicacin conformada nicamente por los mdulos necesarios. 4. Realiza una estructura por ejemplo del computador de su casa donde indique cuales son los datos y cules son los mtodos. PROGRAMACIN ORIENTADA A OBJETOS OTROS LENGUAJES Es ms una forma de diseo y una metodologa de desarrollo de software que un lenguaje de programacin, ya que, en realidad, se puede aplicar el Diseo Orientado a Objetos, a cualquier tipo de lenguaje de programacin. Los lenguajes de programacin lineal (BASIC, COBOL Y FORTRAN) no tenan facilidad para reutilizar el cdigo existente de programas. La POO se fija en la interrelacin que existe entre los datos y las acciones a realizar con ellos. La programacin estructurada fija su atencin en el conjunto de acciones que manipulan el flujo de datos. El modelo orientado a objetos no es una tcnica de programacin sino un medio de plasmar la vida real Los programas se ejecutaban en secuencias lgicas, haciendo la lgica difcil de comprender. ESTRUCTURA: COMPUTADOR PORTATIL DATOS METODOS Marca: TOSHIBA Modelo: SATELLITE P755 Procesador: Intel CORE i7 Pantalla: 17 D.D: 1 TB Prender y apagar. Comunicacin persona mquina y persona a persona. Realizacin de trabajos. Conexin internet. Almacenamiento de archivos.
5. Investiga como es el comportamiento de los objetos en una clase. El comportamiento de los objetos de una clase se implementa mediante funciones miembro o mtodos. Un mtodo es un conjunto de instrucciones que realizan una determinada tarea y son similares a las funciones de los lenguajes estructurados. Del mismo modo que hay variables de instancia y de clase, tambin hay mtodos de instancia y de clase. En el primer caso, un objeto llama a un mtodo para realizar una determinada tarea, en el segundo, el mtodo se llama desde la propia clase. Una clase plasma un conjunto de responsabilidades que define el comportamiento de los objetos de la clase. Las acciones de las que la clase es responsable se llevan a cabo mediante las operaciones definidas en la clase, de forma que todas las instancias de la clase sern capaces de realizar las operaciones de dicha clase. La estructura de un objeto se define a partir de los atributos de la clase a la que pertenece. Los objetos de una clase asignarn un valor a cada uno de los atributos de su clase. Generalmente los mensajes en los diagramas de interaccin se traducen a operaciones en las clases que los reciben, sin embargo, hay casos especiales de mensajes que no llegan a ser operaciones. Por ejemplo, si la clase que recibe el mensaje es de tipo boundary (estereotipo de una clase) que contiene una clase de tipo GUI (graphical user interface), el mensaje es una declaracin de los requisitos de la GUI. Encontramos otros ejemplos en los mensajes desde o hacia un actor que modela una persona fsica, estos mensajes deben incorporarse al manual de
usuario ya que no tiene sentido crear operaciones para personas. Igualmente, si se trata de un mensaje desde o hacia un actor que representa otro sistema, se debe crear una clase que contenga el protocolo que se va a utilizar en la comunicacin con el sistema externo, en este caso el mensaje se traduce a una de las operaciones de la clase creada para el protocolo especfico. Las operaciones tambin se pueden crear independientemente de los diagramas de interaccin, ya que puede ser que no todos los escenarios estn representados en estos diagramas. Adems, pueden existir operaciones que se crean para ayudar a otra operacin.
Aunque hemos definido el comportamiento y la estructura como caractersticas asociadas a un objeto, tambin una relacin puede estar dotada de estructura y comportamiento. Se trata de relaciones cuya informacin tiene que ver con el enlace entre los objetos relacionados y no con uno de los objetos en particular. La estructura y el comportamiento que definen una relacin se representa mediante una clase de tipo association class
Aunque los casos de uso y escenarios proporcionan la forma de describir el comportamiento del sistema, es decir, la interaccin entre los objetos del sistema, a veces es necesario especificar el comportamiento interno de un objeto. El comportamiento dinmico de un objeto se puede incluir en el dise no utilizando un diagrama de estados y transiciones (state transition diagram) dichos diagramas muestran los estados del objeto, los eventos o mensajes que originan la transicin de un estado a otro, y las acciones consecuencia del cambio de estado. Crearemos un diagrama de este tipo para aquellas clases con un comportamiento dinmico significativo. Este tipo de diagramas de comportamiento tambin se utilizan en la especificacin del comportamiento de agregaciones y de clases control (estereotipo control de una clase).
ACTIVIDADES COMPLEMENTARIAS CAPITULO CUATRO 1. Explique cul es la diferencia de la estructura de un programa en C y Java. Aspecto C++ JAVA Orientacin a objetos En C++ se pueden escribir programas orientados a objetos, no orientados a objetos, o mezcla de ambos (por ejemplo, tener clases con funciones globales en el mismo programa) Es puramente orientado a objetos; cualquier funcin debe pertenecer a alguna clase (es un mtodo). Existe la funcin main, pero es un mtodo, pero es un mtodo esttico de una clase (la clase principal)
Control sobre la plataforma (hardware+S.O.) C y C++: el programador tiene control del procesador. El programa se ejecuta sobre un procesador virtual (JVM) que abstrae al programador de la plataforma concreta Cdigo de mquina generado: C y C++: el compilador genera cdigo de mquina para una plataforma concreta El compilador genera cdigo de mquina (bytecode) para el procesador JVM; dicho cdigo debe ser interpretado a posteriori Liberacin de Memoria: C y C++: a cargo del programador (delete) Automtica; los objetos creados son destruidos automticamente ente cuando se quedan sin referencias. Un proceso de la JVM llamado recolector de basura (garbage collector) Punteros C y C++: existen punteros con una aritmtica bien definida, y entre otras cosas, permiten programador explorar la memoria del computador fsico No existe el concepto de puntero; los objetos son accedidos mediante referencias (una referencia se puede considerar como el propio propio identificador del objeto); no existe aritmtica de referencias. Paquetes C y C++: no existe tal concepto; lo ms aproximado son los archivos de biblioteca (.h) Un paquete es una entidad organizativa que permite agrupar clases, interfaces y excepciones, as como que sus elementos dispongan de una determinada visibilidad con respecto a elementos externos al paquete
2. qu instrucciones debemos tener en cuenta para crear un programa sencillo? Las instrucciones que debemos tener en cuenta al crear un programa sencillo en java son: Los comentarios (/) al iniciar el comentario y al terminarlo (/). La palabra reservada class enseguida al nombre de la clase y la llave de apertura {. Cuerpo de la clase que contendr mtodos, operaciones y datos de la clase. La lnea: "Public static void main (String args[]) {" da comienzo al mtodo main, Despus de main se declara los parmetros de este mtodo (String args()) $java Aplicacin esencial alpha beta. Entre las llaves de apertura y cierre se encuentra en cuerpo del mtodo o lista de sentencias ( { } ). Conversin implcita de tipos C y C++: existe (flexibilidad para el programador) No existe por considerarse un mecanismo objeto de errores potenciales Sobrecarga de funciones y operadores existen ambos tipos de sobrecarga Slo existe la sobrecarga de funciones (mtodos); Los operadores que existen ya vienen sobrecargados por el compilador, (p.e. + para sumar nmeros o concatenar cadenas). Herencia mltiple Existe No existe por considerarse poco eficiente (esto implic algunas crticas a Java desde ciertos sectores) Interfaces no existen este concepto Existe el concepto de interfaz como conjunto de especificaciones de mtodos y de atributos constantes. Estructuras dinmicas Librera STL Paquete java.util. Los nombres y el funcionamiento son distintos Compiladores Muchos compiladores. Pueden ser bastante distintos Un nico compilador siempre igual. Objetos Ningn ancestro comn Todos los objetos heredan automticamente de la clase Object 3. Investigue sobre los mtodos de definicin para complementar el tema Los mtodos son conjuntos de instrucciones agrupadas bajo un mismo nombre. Una operacin que realiza acceso a los datos. Podemos definir mtodo como un programa procedimental o procedural escrito en cualquier lenguaje, que est asociado a un objeto determinado y cuya ejecucin slo puede desencadenarse a travs de un mensaje recibido por ste o por sus descendientes. Son sinnimos de 'mtodo' todos aquellos trminos que se han aplicado tradicionalmente a los programas, como procedimiento, funcin, rutina, etc. Sin embargo, es conveniente utilizar el trmino 'mtodo' para que se distingan claramente las propiedades especiales que adquiere un programa en el entorno OOP, que afectan fundamentalmente a la forma de invocarlo (nicamente a travs de un mensaje) y a su campo de accin, limitado a un objeto y a sus descendientes, aunque posiblemente no a todos. Si los mtodos son programas, se deduce que podran tener argumentos, o parmetros. Puesto que los mtodos pueden heredarse de unos objetos a otros, un objeto puede disponer de un mtodo de dos maneras diferentes: -Mtodos propios. Estn incluidos dentro de la cpsula del objeto. -Mtodos heredados. Estn definidos en un objeto diferente, antepasado de ste (padre,"abuelo", etc.). A veces estos mtodos se llaman mtodos miembro porque el objeto los posee por el mero hecho de ser miembro de una clase. Un mtodo es equivalente a lo que es un procedimiento (funcin o subrutina) en un lenguaje de programacin tradicional. La diferencia es que un mtodo tiene al menos un argumento: el objeto de la invocacin. Un mtodo puede acceder variables de instancia e invocar mtodos. 4. Realice un mapa conceptual sobe el tema anterior.
5. Exponga 10 ventajas de para utilizar instrucciones repetitivas 1. Las estructuras repetitivas o bucles permiten repetir una o varias acciones un nmero determinado de veces. Cada una de las repeticiones se conoce como iteracin. 2. Presenta diferentes bucles. 3. Este tipo de estructuras marcan como orden de ejecucin la reiteracin de una serie de acciones basndose en un bucle. 4. La estructura de repeticin condicional, con evaluacin al comienzo o al final, tiene que ser diseada con sumo cuidado para evitar caer en un ciclo infinito. 5. Las que las acciones se ejecutan un nmero determinado de veces y dependen de un valor predefinido o del cumplimiento de una determinada condicin. 6. Las estructuras repetitivas permiten representar aquellas acciones que pueden descomponerse en otras subacciones primitivas. 7. Es preciso disponer de estructuras algortmicas que permitan disponer de una iteracin de forma cmoda 8. Presenta tres estructuras, dependiendo de que la condicin se encuentre al principio o al final de la iteracin, son: Estructura mientras, Estructura repetir-hasta, Estructura para (desde-hasta). 9. Las estructuras que repiten una secuencia de instrucciones un nmero determinado de veces se llaman bucles, e iteracin al hecho de repetir la ejecucin de una secuencia de acciones. 10. La estructura repetitiva mientras es aquella en que el cuerpo del bucle se repite mientras se cumple una determinada condicin. Cuando se ejecuta esta instruccin, la primera cosa que sucede es que se evala la condicin. Si la expresin es verdadera, entonces se ejecuta el cuerpo del bucle. Este proceso se repite una y otra vez mientras la condicin sea verdadera. 7. Disear un programa que despliegue los nmeros del 20 al 30. import java.lang.*; import java.awt.*; import java.awt.event.*; public class NUM_20_AL_30 { static Frame ventana= new Frame(); static Panel p1 = new Panel(); static List lista = new List(10, false); static Button b1 = new Button ("Generar numeros); public static void main(String[] args) { ventana.setTitle("Despelgar numeros del 20 al 30"); p1.add(lista);p1.add(b1); ventana.add(p1); ventana.pack(); ventana.setVisible(true); ventana.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e){ ventana.dispose(); System.exit(0);}}); b1.addMouseListener( new MouseAdapter() { public void mousePressed(MouseEvent e){ String temp=""; int x; for ( x = 20; x<=30; x++){ temp = temp.valueOf(x);lista.add( temp );}; }} ); }; }
REFERENCIAS BIBLOGRAFICAS Programacin en Castellano: Crear Objetos en Java, recuperado el 25 de abril de 2014 de http://www.programacion.com/articulo/tutorjava_nivel_basico_97/7 Scrib: Programacin Orientada a Objetos vs Programacin Estructurada, recuperado el 27 de abril de 2014 de http://www.slideshare.net/MichaeldelaCruz6/programacin-orientada-a-objetos-vs-programacin- estructurada android-linux.net: Ventajas de la programacin Orientada a Objetos, recuperado el 29 de abril de http://android-linux.net/12-desarrollo/22-ventajas-de-la-programacion-orientada-a-objetos-poo sc.ehu.es: Conceptos bsicos de la Programacin Orientada a Objetos, recuperado el 29 de abril de 2014 de http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/clases1/clases.htm