Vous êtes sur la page 1sur 7

Conceptos Bsicos De Programacin

Angie Lorena Crdenas Mario


Universidad Distrital Francisco Jos de
Caldas
Bogot, Colombia
alcardenasm@correo.udistrital.edu.co

Abstract The threads, sockets, the relative and abstract location


of a file are important concepts of programming, threads are the
smallest unit of processing that can be scheduled by an operating
system, threads allow us to perform several tasks at once. Sockets
are communication terminal that uniquely identifies a process of
direct application.

INTRODUCCIN
Los sockets, los hilos y las ubicaiones abtractas y relativas de
un archivo son conceptos fundamentales de programacin ya
que nos permiten desarrollar programas mas eficientes y tiles.
Los sockets son una herramienta que nos permite bsicamente
intercomentar dos o mas programas mediante el uso del
internet; por otro lado estn los hilos los cuales nos permiten
realizar varias tareas dentro de un mismo programa, finalmente
cuando hablamos de las rutas de un archivo nos referimos a los
elementos clave de la clase fileque especifica la ruta hacia un
archivo particular
I.

HILOS O THREADS

Un hilo es una secuencia de instrucciones que est controlada


por un planificador que se comporta como un flujo de control
secuencial. El planificador gestiona el tiempo de ejecucin del
procesador y asigna de alguna manera dicho tiempo a los
diferentes hilos actualmente presentes.
II USO DE LOS HILOS

Usualmente para poder utilizarlos tenemos que crear clases que


extienden a la clase Thread, y reescribir el metodo principal run(),
el cual es el que se va a ejecutar principalmente al iniciar un hilo,
thread o nuevo proceso en java. Un mensaje representa una
accin a tomar por un determinado objeto.
Normalmente los hilos de un proceso (en este contexto el
proceso es lo que se suele llamar as en el mbito de sistemas
operativos) suelen tener acceso a todos los recursos disponibles
al proceso, es decir, actuan sobre una memoria compartida.
A. Como crear un hilo o un
Thread
Un hilo o proceso en Java comienza con una instancia de la
clase java.lang.Thread, si analizamos la estructura de dicha
clase podremos encontrar bastantes mtodos que nos ayudan a
controlar el comportamiento de los hilos, desde crear un hilo,
iniciarlo, pausar su ejecucin, etc. Aquellos mtodos que
siempre tenemos que tener presentes con respecto a los hilos
son:

-start()
-yield()
-sleep()
-run()
La accin sucede dentro del mtodo run(), digamos que el
cdigo que se encuentra dentro de dicho mtodo es el trabajo
por hacer, por lo tanto, si queremos realizar diversas
operaciones cada una simultnea pero de manera independiente,
tendremos varias clases, cada una con su respectivo mtodo
run(). Dentro del mtodo run() puede haber llamados a otros
mtodos como en cualquier otro mtodo comn, pero la pila de
ejecucin del nuevo proceso siempre comenzar a partir de la
llamada al mtodo run().
B. Como definir un nuevo hilo
Para definir e instanciar un nuevo Thread existen 2 formas:
- Extendiendo (o heredando) a la clase java.lang.Thread
- Implementando la interfaz Runnable
C. Manejo de hilos

II.SOCKETS

Servidor: es quien responde a los requerimientos de


los clientes, son procesos que se estn ejecutando
indefinidamente.

Los procesos clientes son ms sencillos que los procesos de los


servidores, los primeros no requieren de privilegios de sistemas
para funcionar, en cambio los procesos servidores s.
Los usuarios cuando quieren acceder a un servicio de red,
ejecutan un software cliente.
El diseo de los servidores debe ser muy cuidadoso, debe
incluir cdigo para la manipulacin de:
Fig 1 sockets cliente-servidor

Los sockets son basicamente formas en las que podemos


interconectar 2 (o mas) programas mediante el uso de la
internet. En java se utilizan para poder crear conexiones
utilizando basicamente una IP/hostname y un puerto para
establecer la conexin. Para aprender podemos utilizarla para
conenctar 2 programas por medio de Internet.
A. Funcionamiento de los sockets
El modelo mas basico de los sockets consta de 2 simples
programas, un servidor y un cliente. Basicamente el programa
servidor
comienza
a
escuchar
en
un
puerto
determinado(nosotros lo especificamos), y posteriormente el
programa que la hace de cliente debe conocer la ip o nombre
de dominio/hostname del servidor y el puerto que esta
escuchando, al saber esto simplemente solicita establecer una
conexin con el servidor. Es aqui cuando el servidor acepta esa
conexin y se puede decir que estos programas estan
conectados, de este modo pueden intercambiar informacin.

Autenticacin: verificar la identidad del cliente.


seguridad de datos: para que estos no puedan ser
accedidos inapropiadamente.

Privacidad: garantizar que la informacin privada de


un usuario, no sea accedida por alguien no autorizado.
-proteccin: asegurar que las aplicaciones no
monopolicen los recursos del sistema.
Autorizacin: verificar si el cliente tiene acceso al
servicio proporcionado por el servidor.

Ejemplo de sockets

D. Ejemplo sockets

B. Java sockets
El paquete java.net de la plataforma Java proporciona una clase
Socket, la cual implementa una de las partes de la
comunicacin bidireccional entre un programa Java y otro
programa en la red. La clase Socket se sita en la parte ms alta
de una implementacin dependiente de la plataforma, ocultando
los detalles de cualquier sistema particular al programa Java.
Usando la clase java.net.Socket en lugar de utilizar cdigo
nativo de la plataforma, los programas Java pueden
comunicarse a travs de la red de una forma totalmente
independiente de la plataforma. De forma adicional, java.net
incluye la clase ServerSocket, la cual implementa un socket el
cual los servidores pueden utilizar para escuchar y aceptar
peticiones de conexin de clientes.
C. Cliente/servidor
Los dos componentes del paradigma son:
Cliente: aplicacin que inicia la comunicacin, es
dirigida por el usuario.
Fig. 1 El ejemplo de un grfico de herencia en programacin

II.

RUTAS RELATIVAS Y ABSTRACTAS EN


JAVA

Un programa Java es utilizado normalmente para hacer interfaz


con un sistema operativo para modificar los archivos ubicados
dentro de un sistema de archivos. Los programas Java pueden
acceder a los archivos utilizando una ruta absoluta o relativa.

ARCHIVOS

:Herramienta

que

nos

permite

guardar

informacin
Capacidad de un dispositivo para ser
conectado generalmente por un ordenador personal
CONECTIVIDAD:

V.CONCLUSIONES

Una ruta relativa es la ruta a un archivo en la que se asume que


el directorio de trabajo (el directorio en el que el programa se
est ejecutando) que es el directorio raz. Por el contrario, una
ruta absoluta es la ruta de acceso completa a un archivo,
incluido el nombre de la particin o disco en que se encuentra..
A. Como crear rutas relativas

1. Se determina la ruta del archivo que deseas acceder


utilizando Java. Una ruta es el listado de directorios
que llevan a un archivo en particular. Por ejemplo,
la ruta de acceso al archivo "archivo.txt" que se
encuentra dentro de las carpetas "Directorio de
trabajo\Temp" en la unidad C es como la siguiente:
C:\Working Directory\Temp\filename.txt

2. Quita el nombre de la unidad o la particin de la


ruta y cada directorio, hasta e incluyendo el directorio
de trabajo. El directorio de trabajo es el lugar donde el
programa se ejecuta. Continuando con el ejemplo
anterior, si el programa Java se inicia desde
"C:\Directorio de trabajo", la ruta relativa del archivo
sera as: \Temp\filename.txt

Un hilo es un proceso que se est ejecutando en un


momento determinado en nuestro sistema operativo, como
cualquier otra tarea, esto se realiza directamente en el
procesador
-

- Los sockets son un sistema de comunicacin entre


procesos de diferentes mquinas de una red. Ms
exactamente, un socket es un punto de comunicacin por el
cual un proceso puede emitir o recibir informacin
-Una ventaja de los hilos radica en que es ms fcil
para el planificador, intercambiar entre los
procesos Thread, ya que son ms ligeros, que entre
otros procesos.
- El primer problema habitual en el uso de
Threads, est que al ser dos tareas concurrentes,
podra darse una situacin conocida como la
exclusin mutua (que consiste en que dos o ms
procesos no se dejan terminar unos a otros, porque
se bloquean entre ellos)

REFERENCIAS
[1]

[3]

http://electivajava.blogspot.com/2007/03/jerarquia-de-clases-y-paquetesen-java.html [2]
http://www.slideshare.net/Karlytoz_36/programacin-orientada-aobjetos-15003678 [4]
http://apdaza-poo.blogspot.com/2008/04/hilos.html

[4]

http://www.programacion.com/foros/java-basico/hilos 171014 [10]

[2]

3. Crea un objeto "Archivo" y asgnale el directorio


relativo determinado en el paso anterior. Escribe lo
siguiente dentro de los parntesis de la funcin
principal: File f = new File(\Temp\filename.txt)

IV.PALABRAS CLAVES
HILOS:

Una forma de poder ejecutar varios procesos


simultneamente en nuestros programas en Java.
formas en las que podemos interconectar 2 (o
mas) programas mediante el uso de la internet.
SOCKETS:

RUTAS: Ubicacin

donde se guarda un fichero

RUTAS RELATIVAS: Ubicacin

archivo

variable que puede tener un

[5]http://quegrande.org/apuntes/ETIX/OPT/PAI/teoria/0708/resumen_poo.pdfMassachusetts, Amherst, MA, CMPSCI Tech.


Rep. 99-02, 1999.

VIII. ABSTRACCION

Es un mtodo por el cual abstraemos, vale la redundancia, una


determinada entidad de la realidad; sus caractersticas y
funciones que desempean. Estos son representados en clases
por medio de atributos y mtodos de dicha clase
IX POLIMORFISMO

El polimorfismo, como su mismo nombre sugiere


mltiples formas, se refiere a la posibilidad de acceder a
un variado rango de funciones distintas a travs del
mismo interfaz. O sea, que, en la prctica, un mismo
identificador puede tener distintas formas (distintos
cuerpos
de
funcin, distintos comportamientos)
dependiendo, en general, del contexto en el que se halle
inserto. El polimorfismo se puede establecer mediante la
sobrecarga, sobre-escritura y la ligadura dinmica.

V. ATRIBUTOS

Los atributos son las caractersiticas individuales que


diferencian un objeto de otro y determinan su apariencia, estado
u otras cualidades. Los atributos se guardan en variables
denominadas de instancia, y cada objeto particular puede tener
valores distintos para estas variables.
Las variables de instancia tambin denominados miembros
dato, son declaradas en la clase pero sus valores son fijados y
cambiados en el objeto.
Adems de las variables de instancia hay variables de clase, las
cuales se aplican a la clase y a todas sus instancias. Por
ejemplo, el nmero de ruedas de un automvil es el mismo
cuatro, para todos los automviles.
VI ENCAPSULAMIENTO

El encapsulamiento consiste en permitir la visibilidad de


atributos y/o mtodos, en una clase determinada, teniendo as
tres niveles de: privados (private) que se utilizaran solo en esa
clase, protegidos (protected) que se utilizaran por todas los
mtodos, clases y /o atributos mientras se encuentre en el
mismo package, y los pblicos (public) que pueden ser usados
por cualquier clase o mtodo
A. Sobrecarga
La sobrecarga de funciones conduce a que un mismo nombre
pueda representar distintas funciones con distinto tipo y nmero
de argumentos. En el mbito de la programacin orientada a
objetos, la sobrecarga de funciones equivale a que un mismo
mensaje puede ser enviado a objetos de diferentes clases de
forma que cada objeto respondera al mensaje apropiadamente.
B. Sobrecarga de mtodos
Una sobrecarga de mtodos o funciones se conoce por tener
mas de un mtodo con el mismo nombre teniendo en cuenta las
siguientes caractersticas:

Los mtodos sobrecargados poseen


el mismo
nombre sin importar el nmero de mtodos que hayan

Los parmetros o argumentos que posean


los mtodos sobrecargados pueden ser de diferentes
tipos y diferente cantidad de estos.

-El lenguaje de la programacin orientada a objetos son


lenguajes dinmicos en los que estos objetos se pueden creae y
modificar
-Tiene ventajas como la abstraccin de datos
-reutilizacin de cdigo, mantenimiento y extensin de las
aplicaciones
-Desarrollo e integracin de software orientado a componentes

C. Sobreescritura

XIII PALABRAS CLAVES

Cada vez que se tiene una clase que hereda un mtodo de una
superclase, se tiene la oportunidad de sobreescribir el mtodo (a
menos que dicho mtodo est marcado como final). El
beneficio clave al sobreescribir un mtodo heredado es la
habilidad de definir un comportamiento especfico para los
objetos de la subclase.

D.Sobreescrituda de metodos

Los mtodos de instancia pueden ser sobreescritos


solamente si han sido heredados por la subclase.
Los mtodos sobreescritos pueden arrojar cualquier
excepcin no verificada(de tiempo de ejecucin) por el
compilador.
No se puede sobreescibir un mtodo marcado
como esttico (static).

Si un mtodo no puede ser heredado, no puede ser


sobreescrito.

D. Ligadura dinmica
Ligadura dinmica es cuando el tipo de dato a analizarse
dentro de un mtodo se hace en tiempo de ejecucin.
X.AGREGACION

Composicin de un objeto por otros. Es una relacin ms


dbil que la que existe entre el atributo y el objeto al cual
pertenece, y ms fuerte que una asociacin.
XI.CONCURRENCIA

Propiedad que distingue un objeto activo de otro inactivo


XII CONCLUSIONES

-La programacin orientada a objetos permite la optimizacion


del cdigo generado gracias a que mediante tecnicas de herenci,
atributos staticos entre otros permiten, que el cdigo sea
generico de manera que sea reutilizable
-La programacin orientada a objetos es otra forma de ver la
programacin, basndonos en la perspectiva que tenemos los
humanos de nuestro mundo, basndonos en objetos que se
interrelacionan
-Con este nuevo paradigma se pueden hacer programas mas
complejos, pero a la vez mas fcil de entender permitiendo el
trabajo en equipo y la reutilizacin de cdigo

como se pueden representar los objetos


en modo de cdigo.
ENCAPSULAMIENTO consiste en la ocultacin del
estado o de los datos miembro de un objeto, de forma
que slo es posible modificar los mismos mediante
los mtodos definidos para dicho objeto.
MODULARIDAD permite subdividir una aplicacin en
partes ms pequeas (llamadas mdulos), cada una
de las cuales debe ser tan independiente como sea
posible de la aplicacin en s y de las restantes partes
HERENCIA consiste en crear nuevas clases en base a
otras ya existentes
METODOS Los mtodos son subrutinas que definen la
interfaz de una clase, sus capacidades y
comportamiento.
ATRIBUTOS: Los datos se encapsulan dentro de una
clase declarando variables dentro de las llaves de
apertura y cierre de la declaracin de la clase,
variables que se conocen como atributos. Se declaran
igual que las variables locales de un mtodo en
concreto.
ABSTRACCION:

REFERENCIAS
[1]

http://electivajava.blogspot.com/2007/03/jerarquia-de-clases-y-paquetesen-java.html [2]
[2] http://www.slideshare.net/Karlytoz_36/programacin-orientada-aobjetos-15003678 [4]
[3] http://apdaza-poo.blogspot.com/2008/04/polimorfismo.html
[4] http://www.programacion.com/foros/javabasico/ligadura_dinamica_y_polimorfismo_171014 [10]
[5]http://quegrande.org/apuntes/ETIX/OPT/PAI/teoria/0708/resumen_poo.pdfMassachusetts, Amherst, MA, CMPSCI Tech.
Rep. 99-02, 1999.

Los ejemplos enumerados en la seccin de referencias de


este documento incluyen:
ejemplo de un libro [1]
ejemplo de un libro parte de una serie [2]
ejemplo de otro artculo de revista [3]
ejemplo de un artculo de conferencia [4]
ejemplo de una patente [5]
ejemplo de un sitio web [6]
ejemplo de una pgina de un sitio web [7]
ejemplo de un manual [8]
ejemplo de una hoja de datos [9]
ejemplo de una tesis [10]
ejemplo de un reporte tcnico [11]
ejemplo de un estndar [12]
IV. CONCLUSIONES
El propsito de esta seccin es resumir los principales
resultados discutidos a lo largo del paper. Recuerde
manejar las conclusiones como enunciados cortos
fundamentados en la teora y los objetivos planteados.
Esta seccin no tiene requisitos especiales de formato.
RECONOCIMIENTOS
Esta seccin sigue el formato regular del resto del
documento. La nica observacin es notar que el ttulo no
est numerado.
En esta seccin se agregan agradecimientos a personas que
colaboraron en el proyecto pero que no figuran como autores
del paper.
REFERENCIAS
[1]

http://electivajava.blogspot.com/2007/03/jerarquia-de-clases-y-paquetesen-java.html [2]
[2] http://www.slideshare.net/Karlytoz_36/programacin-orientada-aobjetos-15003678 [4]
[3] http://apdaza-poo.blogspot.com/2008/04/polimorfismo.html
[4] http://www.programacion.com/foros/javabasico/ligadura_dinamica_y_polimorfismo_171014 [10]
[5]http://quegrande.org/apuntes/ETIX/OPT/PAI/teoria/0708/resumen_poo.pdfMassachusetts, Amherst, MA, CMPSCI Tech.
Rep. 99-02, 1999.

Fig. 1 El ejemplo de un grfico con colores slidos que resaltan sobre


el fondo blanco.

Fig. 2 es un ejemplo de una imagen importada al


documento. En estos casos, asegrese de utilizar la resolucin
adecuada, de manera que la figura se pueda apreciar con
claridad en el documento.
No utilice figuras de resolucin pobre porque empobrece la
calidad del artculo.
Cuando inserte una figura, asegrese de verificar lo
siguiente:
los colores contrastan adecuadamente,
la imagen es clara,
cualquier texto en la imagen se puede leer claramente.
Fig. 2 muestra un caso donde la resolucin no es adecuada,
mientras que Fig. 3 muestra una mejor adaptacin de la misma
figura.

Fig. 2 Ejemplo de figura con baja resolucin

Los ejemplos enumerados en la seccin de referencias de


este documento incluyen:
ejemplo de un libro [1]
ejemplo de un libro parte de una serie [2]
ejemplo de otro artculo de revista [3]
ejemplo de un artculo de conferencia [4]
ejemplo de una patente [5]
ejemplo de un sitio web [6]
ejemplo de una pgina de un sitio web [7]
ejemplo de un manual [8]
ejemplo de una hoja de datos [9]
ejemplo de una tesis [10]
ejemplo de un reporte tcnico [11]
ejemplo de un estndar [12]
IV. CONCLUSIONES
El propsito de esta seccin es resumir los principales
resultados discutidos a lo largo del paper. Recuerde manejar
las conclusiones como enunciados cortos fundamentados en la
E. Ttulos de Tablas
teora y los objetivos planteados.
Las tablas deben tener un ttulo con letra mayscula de 8
Esta seccin no tiene requisitos especiales de formato.
puntos, centrado en la columna y con letra ms grande en el
RECONOCIMIENTOS
inicio de cada palabra mayor. Antes de la lnea del ttulo, se
incluye una lnea centrada donde se usa la palabra Tabla
Esta seccin sigue el formato regular del resto del
seguida de la numeracin de la tabla usando nmeros romanos. documento. La nica observacin es notar que el ttulo no est
numerado.
F. Nmeros de Pgina, Encabezados y Pie de Pgina
En esta seccin se agregan agradecimientos a personas que
Estos tres elementos no deben ser utilizados.
colaboraron en el proyecto pero que no figuran como autores
del paper.
G. Hiper-Vnculos y Accesos Directos
Fig. 3 Ejemplo de figura con buena resolucin

Cualquier hiper-vnculo o referencia a Internet debe


escribirse por completo. Es decir, escribir el URL complete de
la ubicacin del recurso en lugar de dejar accesos directos.
Las referencias se escriben usando fuente regular igual que
el resto del artculo.
H. Referencias bibliogrficas
El encabezado de la seccin de referencias debe seguir las
normas del nivel ttulo sin embargo, no debe tener
numeracin.
Todas las referencias se hacen en letra de 8 puntos.
Utilice cursiva para distinguir los diferentes campos de la
referencia. Utilice los ejemplos adjuntos en este documento.
Todas las referencias estn numeradas con nmeros
arbigos consecutivos que inician en 1 y siempre estn
encerrados en parntesis cuadrados (p.e. [1]).
Si en el cuerpo del artculo hace referencia a alguna de
estas referencias, utilice solamente los parntesis cuadrados y
el nmero correspondiente. Nunca use trminos como ver
referencia [4], en su lugar use ver [4].
Si son varias referencias juntas, seprelas con comas.
Las referencias cambian segn el tipo de fuente.

REFERENCIAS
[1]

S. M. Metev and V. P. Veiko, Laser Assisted Microtechnology, 2nd ed.,


R. M. Osgood, Jr., Ed. Berlin, Germany: Springer-Verlag, 1998.
[2] J. Breckling, Ed., The Analysis of Directional Time
Series:
Applications to Wind Speed and Direction, ser. Lecture Notes in
Statistics. Berlin, Germany: Springer, 1989, vol. 61.
[3] S. Zhang, C. Zhu, J. K. O. Sin, and P. K. T. Mok, A novel ultrathin
elevated channel low-temperature poly-Si TFT, IEEE Electron
Device Lett., vol. 20, pp. 569571, Nov. 1999.
[4] M. Wegmuller, J. P. von der Weid, P. Oberson, and N. Gisin,
High
resolution fiber distributed measurements with coherent OFDR, in
Proc. ECOC00, 2000, paper 11.3.4, p. 109.
[5] R. E. Sorace, V. S. Reinhardt, and S. A. Vaughn, High-speed digitalto-RF converter, U.S. Patent 5 668 842, Sept. 16, 1997.
[6]
(2002) The IEEE website. [Online]. Available: http://www.ieee.org/
[7] M. Shell. (2002) IEEEtran homepage on CTAN. [Online].
Available: http://www.ctan.org/texarchive/macros/latex/contrib/supported/IEEEtran/
[8] FLEXChip Signal Processor (MC68175/D), Motorola, 1996.
[9] PDCA12-70 data sheet, Opto Speed SA, Mezzovico, Switzerland.
[10] A. Karnik, Performance of TCP congestion control with rate feedback:
TCP/ABR and rate adaptive TCP/IP, M. Eng. thesis, Indian Institute
of Science, Bangalore, India, Jan. 1999.
[11]
J. Padhye, V. Firoiu, and D. Towsley, A stochastic model of
TCP Reno congestion avoidance and control, Univ. of
Massachusetts, Amherst, MA, CMPSCI Tech. Rep. 99-02, 1999.
[12] Wireless LAN Medium Access Control (MAC) and Physical Layer
(PHY) Specification, IEEE Std. 802.11, 1997.