Documente Academic
Documente Profesional
Documente Cultură
SISTEMAS ORIENTADOS A
OBJETOS
Introduccin
La construccin de un sistema software, con independencia de su tamao, de sus
caractersticas funcionales y de la tecnologa elegida, consta de una serie de fases que
abarcan desde su concepcin hasta su retirada, definiendo un espacio temporal que
recibe el nombre de ciclo de vida del software. Existen diferentes modelos de ciclo de
vida, cada uno con sus propias peculiaridades, adaptndose unos mejor que otros a los
distintos paradigmas o estilos de programacin. Pero, lo que s se puede afirmar es que
en ninguno de estos modelos de desarrollo se comienza un proyecto software por la fase
de implementacin.
Comenzar un proyecto software por la fase de implementacin, esto decir,
colocarse inmediatamente delante del ordenador y comenzar a generar cdigo fuente, es
desgraciadamente una forma de trabajo bastante extendida, que toma sus tintes ms
preocupantes cuando sale del entorno del programador ocasional o aficionado, para
convertirse en la forma de trabajo de la inmensa mayora de las empresas de
construccin de software dentro y fuera de nuestras fronteras.
Por tanto, puede parecer utpico y dar la sensacin de predicar en el desierto, el
dedicar un artculo al anlisis y el diseo en la orientacin a objeto, cuando prcticamente
nadie se molesta en seguir unos principios metodolgicos bsicos en sus desarrollos y,
adems, la orientacin a objeto en nuestro pas no acaba de convertirse en una
alternativa completamente aceptada. No obstante, desde nuestra modesta posicin
vamos a intentar aportar nuestro granito de arena en favor de lo que sera una forma ms
correcta de realizar la construccin de una aplicacin software desde el prisma de la
orientacin a objetos.
requerimientos,
se
crea un
producto
de
trabajo
llamado
(comportamiento) y atributos
(estado) estn
estrechamente
relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase
requiere de mtodos para poder tratar los atributos con los que cuenta.
El programador debe pensar indistintamente en ambos conceptos, sin separar ni
darle mayor importancia a alguno de ellos. Hacerlo podra producir el hbito
errneo de crear clases contenedoras de informacin por un lado y clases con
mtodos que manejen a las primeras por el otro. De esta manera se estara
realizando
una programacin
estructurada camuflada en
un
lenguaje
de
Estado de un Objeto:
El estado de un objeto se refiere al conjunto de los valores de sus atributos
en un instante de tiempo dado. El comportamiento de un objeto puede modificar el
estado de este. Cuando una operacin de un objeto modifica su estado se dice
que esta tiene "efecto colateral".
Esto tiene especial importancia en aplicaciones que crean varios hilos de
ejecucin. Si un objeto es compartido por varios hilos y en el transcurso de sus
operaciones estas modifican el estado del objeto, es posible que se deriven
errores del hecho de que alguno de los hilos asuma que el estado del objeto no
cambiar (Vase Condicin de carrera).
Identidad:
La identidad es la propiedad que permite diferenciar a un objeto y
distinguirse de otros. Generalmente esta propiedad es tal, que da nombre al
objeto. Tomemos por ejemplo el "verde" como un objeto concreto de una
clase color; la propiedad que da identidad nica a este objeto es precisamente su
"color" verde. Tanto es as que para nosotros no tiene sentido usar otro nombre
para el objeto que no sea el valor de la propiedad que lo identifica.
En programacin la identidad de los objetos sirve para comparar si dos
objetos son iguales o no. No es raro encontrar que en muchos lenguajes de
programacin la identidad de un objeto est determinada por la direccin
Comportamiento:
El comportamiento de un objeto est directamente relacionado con su
funcionalidad y determina las operaciones que este puede realizar o a las que
puede responder ante mensajes enviados por otros objetos. La funcionalidad de
un objeto est determinada, primariamente, por su responsabilidad. Una de las
ventajas fundamentales de la POO es la reusabilidad del cdigo; un objeto es ms
fcil de reutilizarse en tanto su responsabilidad sea mejor definida y ms concreta.
Una tarea fundamental a la hora de disear una aplicacin informtica es
definir el comportamiento que tendrn los objetos de las clases involucradas en
la aplicacin, asociando la funcionalidad requerida por la aplicacin a las clases
adecuadas.
Un Mtodo:
es una subrutina cuyo cdigo es definido en una clase y puede pertenecer
tanto a una clase, como es el caso de los mtodos de clase o estticos, como a
un objeto, como es el caso de los mtodos de instancia. Anlogamente a los
procedimientos en los lenguajes imperativos, un mtodo consiste generalmente de
una serie de sentencias para llevar a cabo una accin, un juego de parmetros de
entrada que regularn dicha accin o, posiblemente, un valor de salida (o valor de
retorno) de algn tipo.
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.
Mensajes:
Un objeto por si solo no tiene mucho significado. Ejemplo: el objeto
"bicicleta" no tiene mucho sentido si no interacta con un objeto "persona" que
pedalee.
Como todo lo que un objeto puede hacer esta expresado mediante mtodos, el
envo de mensajes soporta todas las posibles interacciones entre objetos.
Para enviar o recibir mensajes, los objetos no necesitan formar parte del mismo
proceso, ni siquiera de la misma mquina.
Clases Abstractas:
Abstraccin es un trmino del mundo real que podemos aplicar tal cual lo
entendemos en el mundo de la Programacin Orientada a Objetos. Algo abstracto
es algo que est en el universo de las ideas, los pensamientos, pero que no se
puede concretar en algo material, que se pueda tocar.
Pues bien, una clase abstracta es aquella sobre la que no podemos crear
especmenes concretos, en la jerga de POO es aquella sobre la que no podemos
instanciar objetos. Ahora bien, cul es el motivo de la existencia de clases
abstractas? o dicho de otra manera, por qu voy a necesitar alguna vez declarar
una clase como abstracta?, en qu casos debemos aplicarlas? Esto es todo lo
que pretendemos explicar en este artculo.
Identificacin de Clases:
Mirando la diferencia fundamental entre cifras de sustitucin y cifras de
transposicin, se observa que
En
letras del texto original son alterados sin embargo las posiciones
relativas de las letras permanecen en su secuencia original.
En
las cifras de transposicin, slo las posiciones relativas de las letras del
Si
Si
Conclusin
es un proceso complejo y
Bibliografa:
http://es.wikipedia.org/wiki/Objeto_(programaci%C3%B3n)
http://es.wikipedia.org/wiki/Objeto_(programaci%C3%B3n)#Estado
http://es.wikipedia.org/wiki/Objeto_(programaci%C3%B3n)#Identidad
http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
http://www.desarrolloweb.com/articulos/abstraccion-programacion-orientadaobjetos-poo.html