Tc2 Carlos Casadiego 301403 56

27
COLOMBIA ACTIVIDA No: 6 PROGRAMACION ORIENTADA A OBJETOS “TRABAJO COLABORATIVO No. 2” GRUPO COLABORATIVO NÚMERO: 301403_56 CARLOS ALBERTO CASADIEGO COD 5.092.235 DIRECTOR DEL CURSO: CESAR ORLANDO JIMENEZ ESCUELA DE CIENCIAS BÁSICAS E INGENIERÍA UNIVERSIDAD NACIONALABIERTA Y A DISTANCIA UNAD CEAD VALLEDUPAR CESAR 2012

Transcript of Tc2 Carlos Casadiego 301403 56

  • COLOMBIA

    ACTIVIDA No: 6

    PROGRAMACION ORIENTADA A OBJETOS

    TRABAJO COLABORATIVO No. 2

    GRUPO COLABORATIVO NMERO: 301403_56

    CARLOS ALBERTO CASADIEGO

    COD 5.092.235

    DIRECTOR DEL CURSO: CESAR ORLANDO JIMENEZ

    ESCUELA DE CIENCIAS BSICAS E INGENIERA

    UNIVERSIDAD NACIONALABIERTA Y A DISTANCIA UNAD

    CEAD VALLEDUPAR CESAR

    2012

  • COLOMBIA

    INTRODUCCION

    Este trabajo se realiza para hacer un complementacin terica de la unidad dos del modulo programacin orientada a objetos con el fin de identificar las ventajas y desventajas de POO las clases, estructuras, datos, etc..

    Pondremos en prctica toda la teora programando y compartiendo dudas con el grupo colaborativo.

    Tambin se fundamenta en la segunda unidad del modulo de programacin orientada a

    objetos: ESTRUCTURA DE UN OBJETO - INTRODUCCION A JAVA, la cual consta de

    dos captulos por lo que se desarrollan dos actividades complementarias que aparecen

    al final de cada captulo.

    En la primera actividad complementaria se hace nfasis en la estructura y

    comportamiento de un objeto, adems de su correcta construccin.

    En la segunda actividad complementaria se hace nfasis en los siguientes aspectos:

    La diferencia entre programacin orientada a objetos y JAVA.

    La estructura de un programa en JAVA.

    La construccin de un Programa en JAVA (mtodos de definicin y estructura

    repetitivas).

    Adems se desarrollan:

    La construccin de una base de datos en java

    Un programa que genere un chat entre cliente- servidor.

    Un programa que encripte y desencripte un texto numrico o alfabtico.

  • COLOMBIA

    OBJETIVOS

    o Poner en prctica la teora de de la unidad dos del modulo programacin orientada a objetos.

    o Aprender la practica partiendo de la teora. o Interactuar dinmica mente con el grupo colaborativo para completar las actividades

    y compartir laboratorios y dudas.

    o Aprovechar al mximo las herramientas que nos suministra la universidad por medio de la plataforma y aprender a manejar distintos software de aplicacin para la POO.

    o Comparar los puntos de vista para llegar a conclusiones que nos ayuden a resolver

    dudas para mejorar nuestro aprendizaje virtual.

    o Demostrar la habilidad obtenida mediante el trabajo practico y terico y llegar a conclusiones competentes para nuestro futuro como profesionales

  • COLOMBIA

    DESARROLLO DE LA ACTIVIDAD

    ACTIVIDADES COMPLEMENTARIAS

    1. Crear el siguiente objeto de la figura donde demuestre la creacin de los 6

    mtodos que consta la clase operacin.

    Class operacion

    {

    Int I;

    String matematicas;

    private String funcion;

    private int funcion;

    static int resultado;

    Metodos

    Division_1;

    Suma_2;

  • COLOMBIA

    Resta_3;

    Igual_4;

    Tantoporciento_5;

    Multiplicacion_6;

    Resultado (String funcion)

    {

    this.funcion = resultado;

    {

    i = i+j;

    Funcion ()

    }

    }

    1. cul es la diferencia de la programacin orientada objetos con otros lenguajes.

    LENGUAJES PARADIGMA DIFERENCIA

    Lenguajes

    imperativos

    La programacin imperativa, en

    contraposicin a la programacin

    declarativa es un paradigma de

    programacin que describe la programacin en trminos del estado del

    programa y sentencias que cambian

    dicho estado. Los programas imperativos

    son un conjunto de instrucciones que le

    indican al computador cmo realizar una tarea. La implementacin de

    hardware de la mayora de computadores es imperativa;

    prcticamente todo el hardware de los

    o variables y sentencias

    ms complejas,

    o Las recetas y las listas

    de revisin de procesos,

    a pesar de no ser

    programas de

    computadora, son

    tambin conceptos

    familiares similares en

    estilo a la programacin

    imperativa.

  • COLOMBIA

    computadores est diseado para

    ejecutar cdigo de mquina, que es nativo al computador, escrito en una

    forma imperativa. Esto se debe a que el

    hardware de los computadores

    implementa el paradigma de las

    Mquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del

    programa est definido por los

    contenidos de la memoria, y las

    sentencias son instrucciones en el

    lenguaje de mquina nativo del

    computador (por ejemplo el lenguaje

    ensamblador). Los lenguajes imperativos de alto nivel usan

    variables y sentencias ms complejas, pero an siguen el mismo

    paradigma. Las recetas y las listas de

    revisin de procesos, a pesar de no ser

    programas de computadora, son tambin

    conceptos familiares similares en estilo a

    la programacin imperativa; cada paso es

    una instruccin, y el mundo fsico guarda

    el estado (Zoom). Los primeros lenguajes

    imperativos fueron los lenguajes de

    mquina de los computadores originales.

    En estos lenguajes, las instrucciones

    fueron muy simples, lo cual hizo la

    implementacin de hardware fcil, pero

    obstruyendo la creacin de programas

    complejos. Fortran, cuyo desarrollo

    fue iniciado en 1954 por John

    Backus en IBM, fue el primer gran lenguaje de programacin en superar los

    obstculos presentados por el cdigo de

    mquina en la creacin de programas

    complejos.

    o pero obstruyendo la

    creacin de programas

    complejos

    Lenguajes

    Funcionales

    Los programas escritos en un lenguaje

    funcional estn constituidos nicamente

    por definiciones de funciones,

    entendiendo stas no como

    subprogramas clsicos de un lenguaje

    imperativo, sino como funciones

    puramente matemticas, en las que se

    verifican ciertas propiedades como la

    transparencia referencial (el

    o como funciones

    puramente matemticas,

    en las que se verifican

    ciertas propiedades como

    la transparencia

    referencial.

    o no existencia de

  • COLOMBIA

    significado de una expresin depende

    nicamente del significado de sus

    subexpresiones), y por tanto, la carencia

    total de laterales. Otras caractersticas

    propias de estos lenguajes son la no

    existencia de asignaciones de variables y

    la falta de construcciones estructuradas

    como la secuencia o la iteracin (lo que

    obliga en la prctica a que todas las

    repeticiones de instrucciones se lleven a

    cabo por medio de funciones

    recursivas). Existen dos grandes categoras de lenguajes funcionales: los

    funcionales puros y los hbridos. La

    diferencia entre ambos estriba en que

    los lenguajes funcionales hbridos son

    menos dogmticos que los puros, al

    admitir conceptos tomados de los

    lenguajes imperativos, como las secuencias de instrucciones o la

    asignacin de variables. En contraste, los

    lenguajes funcionales puros tienen una

    mayor potencia expresiva, conservando

    a la vez su transparencia referencial,

    algo que no se cumple siempre con un

    lenguaje funcional hbrido.

    asignaciones de variables

    y la falta de

    construcciones

    estructuradas.

    o Existen dos grandes

    categoras de lenguajes

    funcionales: los

    funcionales puros y los

    hbridos.( no son puramente orientados a

    objetos, sino que son

    hbridos que combinan la

    POO con otros

    paradigmas.

    o Al igual que C++ otros

    lenguajes, como

    OOCOBOL, OOLISP,

    OOPROLOG y

    Object REXX, han sido creados aadiendo

    extensiones orientadas a

    objetos a un lenguaje de

    programacin clsico.

    o Un nuevo paso en la

    abstraccin de paradigmas

    de programacin es la

    Programacin

    Orientada a

    Aspectos (POA). Aunque es todava una

    metodologa en estado de

    maduracin, cada vez atrae

    a ms investigadores e

    incluso proyectos

    comerciales en todo el

    mundo.

    Lenguajes La programacin lgica consiste en la aplicacin del corpus de conocimiento

    El lenguaje de programacin lgica

    por excelencia es Prolog, que

  • COLOMBIA

    Lgicos sobre lgica para el diseo de lenguajes de programacin; no debe confundirse con la disciplina de la

    computacional. La programacin lgica

    comprende dos paradigmas de

    programacin: la programacin

    declarativa y la programacin

    funcional. La programacin declarativa gira en torno al concepto de

    predicado, o relacin entre elementos.

    La programacin funcional se basa en el

    concepto de funcin (que no es ms que

    una evolucin de los predicados), de

    corte ms matemtico.

    cuenta con diversas variantes. La

    ms importante es la programacin

    lgica con restricciones. Posibilita

    la resolucin de ecuaciones

    lineales adems de la demostracin

    de hiptesis.

    Lenguajes

    orientados a

    objetos

    La programacin orientada a objetos es una nueva forma de programar que

    trata de encontrar una solucin a estos problemas. Introduce nuevos

    conceptos, que superan y amplan conceptos antiguos ya conocidos.

    Entre ellos destacan los siguientes:

    Clase: definiciones de las propiedades y comportamiento de un

    tipo de objeto concreto. La

    instanciacin es la lectura de estas definiciones y la creacin de un objeto a partir de ellas.

    Herencia: (por ejemplo, herencia de la

    clase D a la clase C) Es la facilidad

    mediante la cual la clase D hereda en

    ella cada uno de los atributos y

    operaciones de C, como si esos

    atributos y operaciones hubiesen sido

    definidos por la misma D. Por lo tanto,

    puede usar los mismos mtodos y variables publicas declaradas en C.

    Los componentes registrados como

    "privados" (prvate) tambin se heredan, pero como no pertenecen a

    la clase, se mantienen escondidos al

    programador y slo pueden ser accedidos a travs de otros mtodos pblicos. Esto es as para mantener hegemnico el ideal de OOP.

    Objeto: entidad provista de un conjunto de propiedades o atributos

    (datos) y de comportamiento o

    funcionalidad (mtodos) los mismos

  • COLOMBIA

    que consecuentemente reaccionan a

    eventos. Se corresponde con los

    objetos reales del mundo que nos

    rodea, o a objetos internos del sistema

    (del programa). Es una instancia a una

    clase.

    Mtodo: Algoritmo asociado a un objeto (o a una clase de objetos), cuya

    ejecucin se desencadena tras la recepcin de un "mensaje". Desde el punto de vista del comportamiento, es

    lo que el objeto puede hacer. Un

    mtodo puede producir un cambio en las propiedades del objeto, o la

    generacin de un "evento" con un nuevo mensaje para otro objeto del

    sistema.

    Evento: Es un suceso en el sistema

    (tal como una interaccin del usuario con la mquina, o un mensaje enviado por un objeto). El sistema maneja el

    evento enviando el mensaje adecuado

    al objeto pertinente. Tambin se puede definir como evento, a la reaccin que puede desencadenar un objeto, es

    decir la accin que genera. Mensaje: una comunicacin dirigida a

    un objeto, que le ordena que ejecute

    uno de sus mtodos con ciertos parmetros asociados al evento que lo gener.

    Propiedad o atributo: contenedor de

    un tipo de datos asociados a un objeto

    (o a una clase de objetos), que hace

    los datos visibles desde fuera del

    objeto y esto se define como sus

    caractersticas predeterminadas, y cuyo valor puede ser alterado por la

    ejecucin de algn mtodo. Estado interno: es una variable que se

    declara privada, que puede ser

    nicamente accedida y alterada por un mtodo del objeto, y que se utiliza para indicar distintas situaciones

    posibles para el objeto (o clase de

    objetos). No es visible al programador

    que maneja una instancia de la clase.

    Componentes de un objeto: atributos,

    identidad, relaciones y mtodos. Representacin de un objeto: un

    objeto se representa por medio de una

    tabla o entidad que est compuesta por sus atributos y funciones

    correspondientes.

    En comparacin con un lenguaje imperativo, una "variable", no es ms

  • COLOMBIA

    que un contenedor interno del atributo

    del objeto o de un estado interno, as como la "funcin" es un procedimiento interno del mtodo del objeto

    I. Cules son las desventajas de la programacin orientada a objetos?

    Al ser una forma de organizar el cdigo, puede no ser lo ms eficiente para algn caso muy

    puntual.

    Al compilarlo, se genera cdigo objeto, nativo de cada mquina. Resultado: C++ es ms rpido

    que Java. Y bastante ms rpido, Digamos que a la hora de elegir un lenguaje, la necesidad de

    velocidad de nuestra aplicacin inclinara la balanza hacia C++. Pero an nos quedan muchos

    "pesos" que aadir a los platillos.

    Es una extensin de C. Por eso, muchas programadores encontrarn muy sencilla la transicin,

    ya que podrn seguir haciendo cosas a la antigua usanza. Permite un control de la memoria y

    una capacidad de programacin de bajo nivel impensable en Java. Otro platillo para C++.

    Al considerar la adopcin de la tecnologa orientada a objetos, la inmadurez del mercado de

    BDOO constituye una posible fuente de problemas por lo que debe analizarse con detalle la

    presencia en el mercado del proveedor para adoptar su producto en la lnea de produccin

    sustantiva

    La falta de estndares en la industria orientadas a objetos. Sin embargo, el Grupo Manejador

    de Objetos (OMG), es una Organizacin Internacional de Proveedores de Sistemas de

    Informacin y usuarios dedicada a promover estndares para el desarrollo de aplicaciones y

    sistemas orientados a objetos en ambiente de cmputos de red. La implantacin de una nueva

    tecnologa requiere que los usuarios iniciales acepten cierto riesgo.

    o Limitaciones para el programador,

    No obstante que 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

  • COLOMBIA

    pensamiento totalmente diferente a la lgica comnmente utilizada para la programacin estructurada.

    o 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. Una de las desventajas de la programacin orientada a objetos es que cuando se heredan clases a partir de clases existentes se heredan de forma implcita todos los miembros de dicha clase aun cuando no todos se necesiten, lo que produce

    aplicaciones muy grandes que no siempre encajan en los sistemas con los que se disponga.

    o 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 Que requieren amplia capacidades tanto de almacenamiento como de memoria 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.

    o La herencia de clases

    a partir de clases existentes de forma implcita todos los miembros de dicha clase aun cuando no todos se necesiten, lo que produce aplicaciones muy grandes que no siempre encajan en los

    sistemas con los que se disponga.

    4. Realiza una estructura por ejemplo del computador de su:

    Casa donde indique cuales son los datos y cules son los mtodos. ENTRADA DE

    DATOS .Registro e instrucciones de la CPU

  • COLOMBIA

    Mtodos de entrada:

    Registros PC

    MAR

    MDR

    IRPSW

    Instrucciones OR

    - Aritmtica y Lgica NOR

    AND NAND

    -Operaciones de datos en bloque

    - movimientos de datos REG

    a REG; REG A MEM;

    - Instrucciones de control de programa

    Reg. Estados y control

    Reg. De informacin

    Instrucciones Instrucciones de Entrada-Salida

    5. Investiga como es el comportamiento de los objetos en una clase.

    Clase.

  • COLOMBIA

    En el anlisis de estructura de objetos, se identificaron tipos de objetos; en el diseo de

    estructura de objetos nos centramos en la implantacin de esos tipos de objetos.

    Clase es la implantacin de un tipo de objeto. Especifica la estructura de datos y los

    mtodos operativos permitidos que se aplican a cada uno de sus objetos.

    La clase especifica la estructura de datos de cada uno de sus objetos y las operaciones

    que se utilizan para tener acceso a los objetos. La especificacin de cmo se llevan a

    cabo las funciones de una clase se llama mtodo. Los objetos se pueden utilizar

    exclusivamente con mtodos especficos.

    Una instancia de una clase, almacena sus datos dentro de l. Se tiene acceso a los

    datos y se les modifica slo mediante operaciones permisibles. Esta restriccin al

    acceso se debe al encapsulado. El encapsulado protege los datos del uso arbitrario o no

    permitido. El acceso o la actualizacin directa de los datos de un objeto por parte del

    usuario violaran el encapsulado.

    Los usuarios observan el "comportamiento" del objeto en trminos de las operaciones

    que se pueden aplicar a los objetos, as como los resultados de tales operaciones.

    Estas operaciones forman la interfaz del objeto con sus usuarios.

    Diferencia entre operacin y mtodo.

    Las operaciones son procesos que se pueden solicitar como unidades. Los mtodos son

    especificaciones del procedimiento de una operacin dentro de una clase. Es decir, la

    operacin es el tipo de servicio solicitado y el mtodo es su cdigo de programacin.

  • COLOMBIA

    Por ejemplo una operacin asociada con la clase pedido podra ser aquella que calcule

    el total del pedido. El mtodo especificara la forma de calcular el total. Para esto, el

    mtodo podra obtener el precio de cada artculo del pedido al enviar una solicitud a los

    objetos artculo asociado. A su vez, cada objeto artculo regresara su precio al mtodo

    pedido mediante un mtodo de la clase artculo.

    Los mtodos de una clase controlan solamente a los objetos de esa clase. No pueden

    tener acceso directo a las estructuras de datos de un objeto en una clase distinta. Para

    utilizar las estructuras de datos en una clase diferente, deben enviar una solicitud a ese

    objeto.

    Componentes: Una clase es un contenedor de uno o ms datos (variables o propiedad

    miembro) junto a las operaciones de manipulacin de dichos datos (funciones/mtodos).

    Las clases pueden definirse como estructuras (struct), uniones (unin) o clases (class)

    pudiendo existir diferencias entre cada una de las definiciones segn el lenguaje.

    Variables miembro: Las propiedades o atributos que son caractersticas de los objetos.

    Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos

    podemos hacer a la idea de que las variables son algo as como el almacn de los datos

    de estado relacionados con los objetos.

    Mtodos en las clases: Implementan la funcionalidad asociada al objeto. Los mtodos

    son el equivalente a las funciones en los lenguajes estructurados. Se diferencian de

    ellos en que es posible acceder a las variables de la clase de forma implcita.

  • COLOMBIA

    Propiedades: Las propiedades son un tipo especial de mtodos. Debido a que suele ser

    comn que las variables miembro sean privadas para controlar el acceso y mantener la

    coherencia, surge la necesidad de permitir consultar o modificar su valor mediante

    pares de mtodos: GetVariable y SetVariable. De esta forma es posible realizar

    operaciones sobre las propiedades como si fuesen variables normales, el compilador se

    encarga de crear el cdigo apropiado que llame a la clusula get o set segn se

    necesite. Las propiedades se denominan con nombres como las variables.

    Herencia de Clase.

    La generalizacin es una nocin conceptual. La herencia de clase (que slo se conoce

    como herencia) es una implantacin de la generalizacin. La generalizacin establece

    que las propiedades de un tipo se aplican a sus subtipos.

    La herencia de clase hace que la estructura de datos y operaciones sean disponibles

    para su reutilizacin por parte de sus subclases. La herencia de las operaciones de una

    superclase permite que las clases compartan cdigo. La herencia de la estructura de

    datos permite la reutilizacin de la estructura.

    Herencia Mltiple.

    En la herencia mltiple, una clase puede heredar estructuras de datos y operaciones de

    ms de una superclase.

    Por ejemplo supngase que existe un tipo de objeto cuenta, que tiene como subtipos a

    los tipos de objetos cuenta de cliente y cuenta vencida. A su vez, cuenta de cliente

    tiene como a subtipo a cuenta de cliente vencida y cuenta vencida tambin tiene como

    subtipo a cuenta de cliente vencida.

    Seleccin del Mtodo.

  • COLOMBIA

    Cuando se enva una solicitud a un objeto, el software selecciona los mtodos por

    utilizar. El mtodo no se almacena en el objeto, pues esto causara una rplica mltiple

    y prdida de espacio. En vez de esto, el mtodo se asocia con la clase. El mtodo

    puede no estar en la clase de la que el objeto es una instancia, sino en una superclase.

    En ese caso, el mecanismo de seleccin buscar la operacin en su superclase y en

    todas las superclases de la jerarqua hasta que lo encuentre, nivel por nivel. Si la

    encuentra, selecciona la operacin. Si la operacin no se encuentra en ningn nivel de

    la superclase, se considera invlida la fuente de la solicitud.

    De esta forma, los usuarios slo deben especificar lo que se debe hacer, dejando que

    sea el mecanismo de seleccin el que determine la forma de localizar la operacin y la

    ejecute. El mecanismo de seleccin deja en manos de la aplicacin OO el problema de

    localizar la operacin y la ejecute.

    Polimorfismo.

    Uno de los objetivos principales de las tcnicas OO es utilizar otra vez el cdigo. Sin

    embargo, algunas de las operaciones requieren adaptacin para resolver necesidades

    particulares.

    Esta necesidad, se da generalmente entre superclases y subclases, donde una subclase

    es una especializacin de su superclase, y puede requerir alcanzar los mismos objetivos,

    pero con distintos mecanismos. Por ejemplo, una superclase rectngulo podra tener

    una operacin rea cuyo objetivo es calcular el rea del rectngulo, definida como la

    multiplicacin de los largos de dos lados contiguos. A su vez, la clase cuadrado es una

    subclase de rectngulo que tambin tiene una operacin rea cuyo objetivo es calcular

    el rea del cuadrado, pero que est definida especialmente para los objetos del tipo

    cuadrado como la multiplicacin del largo de uno de sus lados por si mismo.

  • COLOMBIA

    El fenmeno recin descrito se conoce como polimorfismo, y se aplica a una operacin

    que adopta varias formas de implantacin segun el tipo de objeto, pero cumple siempre

    el mismo objetivo.

    Una de las ventajas del polimorfismo es que se puede hacer una solicitud de una

    operacin sin conocer el mtodo que debe ser llamado. Estos detalles de la

    implantacin quedan ocultos para el usuario; la responsabilidad descansa en el

    mecanismo de seleccin de la implantacin OO.

    Notacin.

    Para representar una clase, sus atributos y sus mtodos:

    Para representar una instancia de una clase:

    Objeto es una instancia de la Clase. La media luna representa una jerarqua de generalizacin (se lee Objeto 'es un' Clase).

    6. Explique cul es diferencia de la estructura de un programa en C y Java.

  • COLOMBIA

    DIFERENCIAS

    Programacin JAVA Programacin C

    o Tiene variables globales

    o Tiene una sentencia goto

    o No soporta typedefs defines.

    o No soporta enums o constantes enumeradas.

    o Sobrecarga de operadores.

    o Conversin automtica de tipos

    o Los objetos de este tipo String no pueden

    modificarse.

    o Los de tipo StringBuffer, cuyos objetos s se

    pueden modificar.

    o Los arrays se tratan como objetos reales y se

    instancian en memoria dinmica y En Java, la

    memoria dinmica es liberada automticamente,

    o Pero esta liberacin no se lleva a cabo hasta que

    todas las referencias a esa memoria sean NULL o

    dejen de existir por ello nunca puede ser invlida

    mientras est siendo referenciada por alguna

    variable.

    o No permite modificar el contenido de una zona de

    memoria apuntada por un puntero esto se evita al

    ser objetos de primera clase en Java.

    o Existen clases en lugar de estructuras, tambin en

    java no hay funciones independientes.

    o Hay funciones independientes.

    o La funcin de llamada (main) o

    constantes enumeradas.

    o Permite variables globales.

    o Se pueden crear rboles de herencia de

    clases independientes unos de otros.

    o Una interface se utiliza para crear una

    clase base abstracta que contiene

    constantes y las declaraciones de los

    mtodos de la clase. No hay variables

    miembro ni definiciones de mtodos.

    o Utiliza sentencia Go To.

    o Es necesario el punto y coma (;) al final.

    o Se utiliza el punto (.) para construir

    referencias. Y, como no hay soporte de

    punteros, el operador flecha (->).

    o Las funciones y datos miembros se

    invocan utilizando el nombre de la clase

    y el nombre del miembro esttico

    conectados por el operador de mbito

    o El tipo char en C++ es un tipo de 8 bits

    que mapea el conjunto completo de

    caracteres ASCII. En Java, el tipo char

    es de 16 bits y utiliza el set de

    caracteres Unicode coinciden con el set

    ASCII. C++ permite la instanciacin de

  • COLOMBIA

    o No permite variables globales.

    o No se pueden crear arboles independientes.

    o Se introduce el concepto de interface.

    o Se pueden crear verdaderas clases abstractas.

    o No soporta herencia mltiple.

    o Pueden utilizar las posibilidades que ofrece el uso

    de interfaces para emplear las ventajas que ofrece

    la herencia mltiple.

    o No soporta la sentencia Go To.

    o No es necesario el punto y coma (;) al final.

    o Se utiliza el punto (.) para conseguir el mismo

    propsito, variables de tipo int y float son iguales

    independientemente de la plataforma en que se

    estn utilizando.

    o Las expresiones condicionales en Java se evalan

    a booleano en vez de a entero.

    o Requiere que todas las variables de tipos

    primitivos sean instanciadas en tiempo de

    compilacin, y todos los objetos sean instanciados

    en memoria dinmica en tiempo de ejecucin.

    o En java la memoria que no se utiliza es devuelta al

    Sistema a travs del reciclador de memoria, que

    se ejecuta en un thread diferente al del programa

    principal.

    o El uso de argumentos por defecto no est

    soportado en Java.

    o No soporta templates, por lo que no existen

    funciones o clases genricas.

    variables u objetos de cualquier tipo en

    tiempo de compilacin sobre memoria

    esttica o, en tiempo de ejecucin,

    sobre memoria dinmica.

    o El uso de argumentos por defecto si

    est soportado en C.

    o El multithreading, o multihilo, es algo

    caracterstico de Java, que se proporciona por defecto.

    o La implementacin del manejo de

    excepciones en C no es tan completo y

    es diferente que en java.

    o No dispone de un sistema interno de

    generacin de documentos.

  • COLOMBIA

    o La implementacin del manejo de excepciones en

    Java es ms completo y bastante diferente.

    o No soporta la sobrecarga de operadores.

    o Dispone de un sistema interno de generacin de

    documentacin. Si se utilizan comentarios escritos

    de determinada forma, se puede utilizar la

    herramienta java.doc para generar la

    documentacin de la aplicacin Java, e incluso se

    pueden programar doclets para generar tipos

    especficos de documentacin.

    7. Qu instrucciones debemos tener en cuenta para crear un programa sencillo?

    Para crear el programa sencillo necesitaremos realizar los siguientes pasos:

    Crear el cdigo fuente. Un archivo de cdigo fuente contiene texto escrito en el lenguaje de

    programacin Java. Se puede utilizar un simple editor de texto para crear y editar el cdigo.

    Compilar el cdigo fuente. El compilador traslada el cdigo fuente en instrucciones que la

    mquina virtual de Java pueda entender. El compilador crea esas instrucciones en un

    archivo bytecode.

    Ejecutar el programa. El intrprete Java, instalado en el sistema operativo, implementa la

    mquina virtual de Java. Este intrprete transforma el bytecode en instrucciones que pueda

    entender el sistema operativo

    8. Investigue sobre los mtodos de definicin para complementar el tema.

    Metodos

    En la programacin orientada a objetos, un mtodo es una subrutina asociada

    exclusivamente a una clase (llamados mtodos de clase o mtodos estticos) o a un

    objeto (llamados mtodos de instancia). Anlogamente a los procedimientos en los

    lenguajes imperativos, un mtodo consiste generalmente de una serie de sentencias para

  • COLOMBIA

    llevar a cabo una accin, un juego de parmetros de entrada que regularn dicha accin

    y, posiblemente, un valor de salida (o valor de retorno) de algn tipo.

    Algunos lenguajes de programacin asumen que un mtodo debe de mantener el invariante

    del objeto al que est asociado asumiendo tambin que ste es vlido cuando el mtodo

    es invocado. En lenguajes compilados dinmicamente, los mtodos pueden ser objetos de

    primera clase, y en este caso se puede compilar un mtodo sin asociarse a ninguna clase

    en particular, y luego asociar el vnculo o contrato entre el objeto y el mtodo en tiempo

    de ejecucin. En cambio en lenguajes no compilados dinmicamente o tipados

    estticamente, se acude a precondiciones para regular los parmetros del mtodo y pos

    condiciones para regular su salida (en caso de tenerla). Si alguna de las precondiciones o

    pos condiciones es falsa el mtodo genera una excepcin. Si el estado del objeto no

    satisface la invariante de su clase al comenzar o finalizar un mtodo, se considera que

    el programa tiene un error de programacin.

    La diferencia entre un procedimiento (generalmente llamado "funcin" si devuelve un

    valor) y un mtodo es que ste ltimo, al estar asociado con un objeto o clase en

    particular, puede acceder y modificar los datos privados del objeto correspondiente de

    forma tal que sea consistente con el comportamiento deseado para el mismo. As, es

    recomendable entender a un mtodo no como una secuencia de instrucciones sino

    como la forma en que el objeto es til (el mtodo para hacer su trabajo). Por lo tanto,

    podemos considerar al mtodo como el pedido a un objeto para que realice una tarea

    determinada o como la va para enviar un mensaje al objeto y que ste reaccione

    acorde a dicho mensaje.

    Tipos de mtodos

  • COLOMBIA

    Como ya se mencion, los mtodos de instancia estn relacionados con un objeto en

    particular, mientras que los mtodos estticos o de clase (tambin denominados

    mtodos compartidos) estn asociados a una clase en particular. En una implementacin

    tpica, a los mtodos de instancia se les pasa una referencia oculta al objeto al que

    pertenecen, comnmente denominada this o self (referencias a s mismo por sus

    significados en ingls), para que puedan acceder a los datos asociados con el mismo. Un

    ejemplo tpico de un mtodo de clase sera uno que mantuviera la cuenta de la cantidad

    de objetos creados dentro de esa clase.

    Los llamados mtodos obtener y mtodos establecer (en ingls get y set) proveen un

    mecanismo para leer y modificar (respectivamente) los datos privados que se

    encuentran almacenados en un objeto o clase.

    Algunos lenguajes de programacin requieren la definicin de constructores, siendo estos

    mtodos de instancia especiales llamados automticamente cuando se crea una

    instancia de alguna clase. En Java y C++ se distinguen por tener el mismo nombre de las

    clases a la que estn asociados. Lenguajes como Smalltalk no requieren constructores ni

    destructores.

    Los mtodos de acceso son un tipo de mtodo normalmente pequeo y simple que se

    limita a proveer informacin acerca del estado de un objeto. Aunque introduce una

    nueva dependencia, la utilizacin de mtodos es preferida a acceder directamente a la

    informacin para proveer de una nueva capa de abstraccin (programacin orientada a

    objetos). Por ejemplo, si una clase que modela una cuenta bancaria provee de un mtodo

    de acceso "obtener Balance ()" en versiones posteriores de la clase se podra cambiar

    el cdigo de dicho mtodo substancialmente sin que el cdigo dependiente de la clase

    tuviese que ser modificado (un cambio sera necesario siempre que el tipo de dato

  • COLOMBIA

    devuelto por el mtodo cambie). Los mtodos de acceso que pueden cambiar el estado

    de un objeto son llamados, frecuentemente, mtodos de actualizacin mtodos de

    mutacin; a su vez, los objetos que proveen de dichos mtodos son denominados

    objetos mutables.

    9. Realizar un mapa conceptual sobre el tema anterior.

  • COLOMBIA

    10. Exponga 10 ventajas para utilizar instrucciones repetitivas.

    No es necesario llamar a una funcin que obtenga el tamao del vector

    No es necesario utilizar la incmoda notacin de subndices para referirnos al valor en

    cuestin, sobre todo teniendo en cuenta que si utilizamos esta estructura es porque no

    necesitamos el valor del ndice.

    Nos permite hacer un chequeo en tiempo de compilacin sobre el tipo de dato que

    representa el elemento.

    Utiliza iinstrucciones repetitivas, el concepto de variable de control y de condicin de salida

    y patrones de algoritmo de manejo de una estructura contenedora de tamao fijo con

    algoritmo de recorrido completo,

    Emplea algoritmo de localizacin individual (usando una variable booleana o una condicin

    sobre el contenido).

    Tambin posee algoritmos de localizacin sobre el contexto global usando dos ciclos

    anidados y variables que mantienen un valor acumulado.

    Contiene ciclos anidados, que corresponden a recorrer todos los elementos de una

    contenedora contra todos los elementos de otra contenedora. Ejemplos de los patrones

    son: contar el nmero de ocurrencias de algn valor, decidir si un valor est o no en una

    contenedora, informar el valor que ms veces aparece en una contenedora, contar cuntos

    elementos en comn tienen dos contenedoras. Para cada patrn se debe mostrar la

    caracterizacin del problema y el esqueleto del algoritmo que lo resuelve.

    Utiliza operaciones bsicas de las contenedoras de tamao variable: agregar, insertar,

    eliminar, obtener, calcular su longitud.

    Se puede manipular una estructura contenedora de tamao variable, usando sus

    operaciones bsicas como son cardinalidad instrucciones while y for , arrayList: una clase

    de la librera de colecciones de java para manejar secuencias de tamao variable de objetos.

    Java trabaja una zona de memoria dinmica nunca puede ser invlida mientras est siendo referenciada por alguna variable.

  • COLOMBIA

    11. Realice un mapa conceptual con 20 trminos sobre tipo de datos y declaraciones.

    DATOS Y DECLARACIONES

    TIPO DE DATO DECLARACION DE variables

    ENTERO

    BOOLEANO

    COMA FLOTANTE

    CARACTER

    FLOAT

    INT

    FALSE

    DE

    DATO

    TRUE

    DATO

    DOUBLEO

    UBLE

    CHART

    BITE SHORT LONG

  • COLOMBIA

    CONCLUSIONES

    o Este trabajo nos sirvi como complemento para aprender a identificar el tipo de

    datos y variables que utilizamos para programar en java .

    o Este trabajo por ser de tipo terico prctico nos sirvi para apropiarnos mas de

    los temas vistos en la unidas dos modulo POO.

    o La aplicamos el programa Jcreator .

    o Participamos dinmicamente en grupos colaborativos.

  • COLOMBIA

    BIBLIOGRAFA

    o http://campus05.unadvirtual.org/moodle/mod/forum/discuss.php?d=24379

    o http://www.bing.com/search?q=tipo+de+dato+de+declaracion+&src=IE-

    SearchBox&Form=IE8SRC

    o http://www.nebrija.es/~abustind/Informatica/MetodologiaI/Control.pdf

    o http://eicomp.blogspot.com/

    o http://www.slideshare.net/taninof/estructura-interna-computador.

    o http://materias.fi.uba.ar/6670/6670noticias.html

    o http://pisuerga.inf.ubu.es/lsi/Invest/Java/Tuto/I_4.htm

    o http://www.monografias.com/trabajos42/manual-de-java/manual-de-java3.shtml

    o http://www.tecn.upf.edu/~vlopez/docencia/castellano/todoshtml/PIt6cas/node2.html

    o http://www.mailxmail.com/curso-java/definicion-metodos-clase-2

    o http://www.dcc.uchile.cl/~lmateu/Java/Apuntes/inst.htm