Sunteți pe pagina 1din 17

PROGRAMACIN

ORIENTADA A OBJETOS

Programacin avanzada
POO
Un paradigma de programacin se define por la forma que un
determinado programador resuelve un problema, proporcionando
visin y determinando la forma como el programador estructura y
ejecuta un programa determinado.

Es un paradigma de programacin que usa objetos en sus


interacciones, para disear aplicaciones y programas informticos.

Est basada en varias tcnicas, incluyendo HERENCIA, COHESIN,


ABSTRACCIN, POLIMORFISMO, ACOPLAMIENTO y
ENCAPSULAMIENTO.

Su uso se populariz a principios de la dcada de 1990 y en la


actualidad, existe una gran variedad de lenguajes de programacin
que soportan la orientacin a objetos.
ORIGEN
La Programacin Orientacin a Objetos (P.O.O.)
surge en Noruega en 1967 con un lenguaje llamado
Simula 67, desarrollado por Krinsten Nygaard y Ole-
Johan Dahl, en el centro de clculo noruego.

Simula 67 introdujo por primera vez los conceptos de


clases, corrutinas y subclases (conceptos muy
similares a los lenguajes Orientados a Objetos de
hoy en da).

La POO se fue convirtiendo en el estilo de


programacin dominante a mediados de los aos
1980, en gran parte debido a la influencia de C++,
una extensin del lenguaje de programacin C. Su
dominacin fue consolidada gracias al auge de las
interfaces grficas de usuario, para las cuales la POO
est particularmente bien adaptada.
VENTAJAS

La programacin orientada a objetos beneficia a los desarrolladores


debido a que:
Los programas son fciles de disear debido a que los objetos reflejan
elementos del mundo real.
Las aplicaciones son ms sencillas para los usuarios debido a que los datos
innecesarios estn ocultos.
Los objetos son unidades autocontenidas.
La productividad se incrementa debido a que puede reutilizar el cdigo.
Los sistemas son fciles de mantener y se adaptan a las cambiantes
necesidades de negocios.
Es ms fcil crear nuevos tipos de objetos a partir de los ya existentes.
Simplifica los datos complejos.
Reduce la complejidad de la transaccin.
Capacidad de ampliacin.
La P00 permite una modelacin ms natural de los sistemas, parecido a como
un humano los visualiza. El modelo refleja mejor la realidad.
La 00 proporciona soporte para todas las etapas del ciclo de vida del software.
EJEMPLO LENGUAJES ORIENTADOS A
OBJETOS
CONCEPTOS FUNDAMENTALES
CLASE
Definiciones de las propiedades y comportamientos de un tipo de objeto
concreto.
Las clases son uno de los principales componentes de un lenguaje de
programacin, pues en ellas ocurren todos los procesos lgicos requeridos
para un sistema, en si podemos definirlas como estructuras que representan
objetos del mundo real, en general las clases poseen propiedades,
comportamientos y relaciones con otras clases del sistema

una clase se compone por tres partes fundamentales:


Nombre : Contiene el Nombre de la Clase.
Atributos : Representan las propiedades que
caracterizan la clase.
Mtodos : Representan el comportamiento u
operaciones, la forma como interacta la clase con su
entorno.
OBJETOS
Los objetos representan una entidad concreta o abstracta del mundo real, en
programacin bsicamente se le conoce como la instancia de una clase en si es lo
que da el sentido a estas.

Son entidades que tienen un determinado estado, comportamiento e


identidad.

Estado: Representa los atributos o caractersticas con valores concretos del


objeto.
Comportamiento : Se define por los mtodos u operaciones que se pueden
realizar con el.
Identidad: Es una propiedad de un objeto que lo diferencia del resto, es decir,
es su identificador.

En la imagen, los moldes representan las clases, mientras


que las galletas obtenidas de estos moldes representan los
objetos instancias de estas clases, por ejemplo atributos del
objeto galleta podra ser sabor, color, tamao etc......
Evento: Es un suceso en el sistema. El
sistema maneja el evento enviando el
mensaje adecuado al objeto pertinente.
Tambin se puede definir como evento la
reaccin que puede desencadenar un
objeto; es decir, la accin que genera.

Mensaje: Comunicacin dirigida a un


objeto, que le ordena que ejecute uno de
sus mtodos con ciertos parmetros
asociados al evento que lo gener.
HERENCIA
Las clases no se encuentran aisladas, sino que se relacionan entre s,
formando una jerarqua de clasificacin. Los objetos heredan las
propiedades y el comportamiento de todas las clases a las que
pertenecen.

La herencia en representa lo que conocemos de


herencia en el mundo real, bsicamente
mediante esta obtenemos las caractersticas o
rasgos comunes de nuestros padres o abuelos,
en poo es el mismo enfoque permitiendo la
creacin de nuevas clases basadas en clases ya
existentes, con las cuales podemos obtener las
caractersticas de las clases padres, heredando
campos, atributos, mtodos o funcionalidades.
JERARQUA

La Jerarqua es una propiedad que permite ordenacin de las


abstracciones. Las dos jerarquas ms importantes de un sistema
complejo son:
Estructura de clases (jerarqua "es-un" (is-a):
generalizacin/especializacin)
Estructura objetos (jerarqua "parte-de" (part-of): agregacin).

Las jerarquas de generalizacin/especializacin se conocen como


herencia. Bsicamente, la herencia define una relacin entre clases,
en donde una clase comparte la estructura o comportamiento
definido en una o ms clases (herencia simple y herencia mltiple,
respectivamente).
ABSTRACCIN
Denota las caractersticas esenciales de un objeto, donde se
capturan sus comportamientos. El proceso de abstraccin permite
seleccionar las caractersticas relevantes dentro de un conjunto e
identificar comportamientos comunes para definir nuevos tipos de
entidades en el mundo real.

La imagen es muy fcil de identificar, con base a ella podemos crear


una clase persona, o la clase hombre, humano entre otras, pero
obviamente vemos que la imagen no tiene elementos como ojos,
nariz, boca, rostro en general, ni dedos, pies, manos, pero entonces
porque decimos que es una persona?, Precisamente aqu estamos
aplicando el concepto de abstraccin, ya que nos fijamos en lo mas
representativo de algo, en este caso vemos que se tiene una cabeza,
tronco, brazos y pies, con esto es suficiente para saber que es una
persona sin fijarnos en los detalles mencionados anteriormente.

Las clases abstractas permiten crear mtodos generales con un


comportamiento comn para otras clases concretas sin importar sus
caractersticas ni el comportamiento que usen para dichos mtodos.
ENCAPSULAMIENTO

Significa reunir todos los elementos que pueden considerarse


pertenecientes a una misma entidad, al mismo nivel de
abstraccin.

En la OO el encapsulamiento de una entidad se logra mediante la


definicin de una clase, que rene los datos y comportamiento en
una unidad.
MODULARIDAD

Propiedad que 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. Estos mdulos se pueden compilar por
separado, pero tienen conexiones con otros mdulo.
Este procedimiento de descomposicin refleja el principio de
Divide y Vencers
El cdigo fuente de un objeto puede ser escrito, as como darle
mantenimiento, independientemente del cdigo fuente de otros
objetos. As mismo, un objeto puede ser trasferido alrededor del
sistema sin alterar su estado o conducta.
POLIMORFISMO
Comportamientos diferentes, asociados a objetos distintos, pueden
compartir el mismo nombre; al llamarlos por ese nombre se utilizar el
comportamiento correspondiente al objeto que se est usando.

Bsicamente mediante el polimorfismo programamos de forma general


en lugar de hacerlo de forma especifica, se usa cuando se trabajen con
la herencia y objetos de caractersticas comunes los cuales comparten la
misma superClase y rbol jerrquico, al trabajar con este concepto
optimizamos y simplificamos en gran medida nuestro trabajo.

Podemos definirlo como la capacidad que tienen los


objetos de comportarse de mltiples formas sin
olvidar que para esto se requiere de la herencia, en
si consiste en hacer referencia a objetos de una
clase que puedan tomar comportamientos de
objetos descendientes de esta.
MODIFICADORES DE ACCESO
Permiten controlar la forma de acceder a los atributos y mtodos
encapsulados dentro de una clase.

Ocultacin de datos: El usuario de una clase en particular no necesita


saber cmo estn estructurados los datos dentro de ese objeto, es decir,
un usuario no necesita conocer la implementacin Al evitar que el
usuario modifique los atributos directamente y forzndolo a utilizar
funciones definidas para modificarlos.

Niveles de acceso: definen los derechos de acceso para los datos

pblico: funciones de toda clase pueden acceder a los datos o mtodos de una
clase que se define con el nivel de acceso pblico. Este es el nivel de proteccin
de datos ms bajo
protegido: el acceso a los datos est restringido a las funciones de clases
heredadas, es decir, las funciones miembro de esa clase y todas las subclases
privado: el acceso a los datos est restringido a los mtodos de esa clase en
particular. Este es nivel ms alto de proteccin de datos, solo sus mtodos
pueden acceder.
Recoleccin de basura: tcnica por la cual el entorno de objetos se
encarga de destruir automticamente, y por tanto desvincular la
memoria asociada, los objetos que hayan quedado sin ninguna
referencia a ellos.

S-ar putea să vă placă și