tc2 carlos casadiego 301403 56
TRANSCRIPT
-
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