Está en la página 1de 18

Materia:

Programacin Estructurada

Tema

Programacin Orientada a Objetos

Diana Madrigales Motio

201410040123

Universidad Tecnolgica de Honduras

El Progreso, Yoro

2017

*ING Fabin Zaldvar


ndice

Introduccin .......................................................................................................................... 4

Objetivos ................................................................................................................................ 5

Generales ............................................................................................................................ 5

Especficos .......................................................................................................................... 5

Programacin orientada a objetos ...................................................................................... 6

Definicin ........................................................................................................................... 6

Origen .................................................................................................................................... 7

Conceptos fundamentales .................................................................................................... 9

Clase ................................................................................................................................... 9

Herencia .............................................................................................................................. 9

Objeto ............................................................................................................................... 10

Mtodo .............................................................................................................................. 10

Evento ............................................................................................................................... 10

Atributos ........................................................................................................................... 10

Mensaje............................................................................................................................. 11

Propiedad o atributo ......................................................................................................... 11

Estado interno ................................................................................................................... 11

Componentes de un objeto ............................................................................................... 11

Identificacin de un objeto ............................................................................................... 11


Caractersticas de la POO.................................................................................................. 12

Abstraccin ....................................................................................................................... 12

Encapsulamiento ............................................................................................................... 13

Polimorfismo .................................................................................................................... 13

Herencia ............................................................................................................................ 13

Modularidad ..................................................................................................................... 14

Principio de ocultacin ..................................................................................................... 14

Recoleccin de basura ...................................................................................................... 15

Algunos lenguajes orientados a objetos ............................................................................ 16

Simula ............................................................................................................................... 16

Smalltalk ........................................................................................................................... 16

Conclusin ........................................................................................................................... 17

Bibliografa .......................................................................................................................... 18
Introduccin

Los mtodos (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 POO.

La programacin orientada a objetos difiere de la programacin estructurada

tradicional, en la que los datos y los procedimientos estn separados y sin relacin, ya que

lo nico que se busca es el procesamiento de unos datos de entrada para obtener otros de

salida. La programacin estructurada anima al programador a pensar sobre todo en

trminos de procedimientos o funciones, y en segundo lugar en las estructuras de datos

que esos procedimientos manejan. En la programacin estructurada solo se escriben

funciones que procesan datos. Los programadores que emplean POO, en cambio, primero

definen objetos para luego enviarles mensajes solicitndoles que realicen sus mtodos por

s mismos.

Pgina | 4
Objetivos

Generales

Definir que es la Programacin Orientada a Objetos

Definir para que se utilizan la POO

Conocer sus componentes

Especficos

Desarrollar un alto nivel de conocimiento acerca de la POO, para poder desarrollar

un programa en C++, ms profesional y entendible.

Pgina | 5
P r o g r a ma c i n o r i e n t a d a a o b j e t o s

Definicin

La programacin orientada a objetos (POO, u OOP segn sus siglas en ingls) es un

paradigma de programacin que viene a innovar la forma de obtener resultados. Los

objetos manipulan los datos de entrada para la obtencin de datos de salida especficos,

donde cada objeto ofrece una funcionalidad especial.

Muchos de los objetos pre-diseados de los lenguajes de programacin actuales

permiten la agrupacin en bibliotecas o libreras, sin embargo, muchos de estos lenguajes

permiten al usuario la creacin de sus propias bibliotecas.

Est basada en varias tcnicas, incluyendo herencia, cohesin, abstraccin,

polimorfismo, acoplamiento y encapsulamiento.

Su uso se populariz a principios de la dcada de 1990. En la actualidad, existe

una gran variedad de lenguajes de programacin que soportan la orientacin a objetos.

Pgina | 6
Origen

Los conceptos de la POO tienen origen en Simula 67, un lenguaje diseado para

hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard, del Centro de

Cmputo Noruego en Oslo. En este centro se trabajaba en simulaciones de naves, que

fueron confundidas por la explosin combinatoria de cmo las diversas cualidades de

diferentes naves podan afectar unas a las otras. La idea surgi al agrupar los diversos

tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de

definir sus "propios" datos y comportamientos. Fueron refinados ms tarde en Smalltalk,

desarrollado en Simula en Xerox PARC (cuya primera versin fue escrita sobre Basic)

pero diseado para ser un sistema completamente dinmico en el cual los objetos se

podran crear y modificar "sobre la marcha" (en tiempo de ejecucin) en lugar de tener un

sistema basado en programas estticos.

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. En este

caso, se habla tambin de programacin dirigida por eventos.

Pgina | 7
Las caractersticas de orientacin a objetos fueron agregadas a muchos lenguajes

existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp ms Pascal, entre otros. La

adicin de estas caractersticas a los lenguajes que no fueron diseados inicialmente para

ellas condujo a menudo a problemas de compatibilidad y en la capacidad de

mantenimiento del cdigo. Los lenguajes orientados a objetos "puros", por su parte,

carecan de las caractersticas de las cuales muchos programadores haban venido a

depender.

Para saltar este obstculo, se hicieron muchas tentativas para crear nuevos

lenguajes basados en mtodos orientados a objetos, pero permitiendo algunas

caractersticas imperativas de maneras "seguras". El lenguaje de programacin Eiffel de

Bertrand Meyer fue un temprano y moderadamente acertado lenguaje con esos objetivos,

pero ahora ha sido esencialmente reemplazado por Java, en gran parte debido a la

aparicin de Internet y a la implementacin de la mquina virtual Java en la mayora de

navegadores web. PHP en su versin 5 se ha modificado; soporta una orientacin completa

a objetos, cumpliendo todas las caractersticas propias de la orientacin a objetos.

Pgina | 8
C o n c e p t o s f u n d a me n t a l e s

La POO es una 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

ella.

Herencia

Por ejemplo, herencia de la clase C a la clase D, 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 pblicas declaradas en C. Los componentes registrados como

"privados" (private) 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. En el caso de los componentes registrados como "protegidos" (protected)

tambin se heredan, pero solo para esa clase, no para futuras clases heredadas. Esto es as

para mantener hegemnico el ideal de POO.

Pgina | 9
Objeto

Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos

(datos) y de comportamiento o funcionalidad (mtodos), los mismos que

consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del

mundo que nos rodea, o con objetos internos del sistema (del programa).

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 la reaccin que

puede desencadenar un objeto; es decir, la accin que genera.

Atributos

Caractersticas que tiene la clase.

Pgina | 10
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.

Identificacin de un objeto

Un objeto se representa por medio de una tabla o entidad que est compuesta por

sus atributos y funciones correspondientes.

Pgina | 11
En comparacin con un lenguaje imperativo, una "variable" no es ms 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.

C a r a c t e r s t i c a s d e l a PO O

Existe un acuerdo acerca de qu caractersticas contempla la "orientacin a

objetos". Las caractersticas siguientes son las ms importantes:

Abstraccin

Denota las caractersticas esenciales de un objeto, donde se capturan sus

comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto

que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros

objetos en el sistema sin revelar "cmo" se implementan estas caractersticas. Los

procesos, las funciones o los mtodos pueden tambin ser abstrados, y, cuando lo estn,

unas variedades de tcnicas son requeridas para ampliar una abstraccin. 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 abstraccin es clave en el proceso de anlisis y diseo orientado a objetos, ya que

mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la

realidad o el problema que se quiere atacar.

Pgina | 12
Encapsulamiento

Significa reunir todos los elementos que pueden considerarse pertenecientes a una

misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin (diseo

estructurado) de los componentes del sistema. Algunos autores confunden este concepto

con el principio de ocultacin, principalmente porque se suelen emplear conjuntamente.

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. O, dicho de otro modo, las referencias y las

colecciones de objetos pueden contener objetos de diferentes tipos, y la invocacin de un

comportamiento en una referencia producir el comportamiento correcto para el tipo real

del objeto referenciado. Cuando esto ocurre en "tiempo de ejecucin", esta ltima

caracterstica se llama asignacin tarda o asignacin dinmica. Algunos lenguajes

proporcionan medios ms estticos (en "tiempo de compilacin") de polimorfismo, tales

como las plantillas y la sobrecarga de operadores de C++.

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 organiza y facilita el polimorfismo y el

Pgina | 13
encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos

especializados de objetos preexistentes. Estos pueden compartir (y extender) su

comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente

agrupando los objetos en clases y estas en rboles o enrejados que reflejan un

comportamiento comn. Cuando un objeto hereda de ms de una clase se dice que hay

herencia mltiple; siendo de alta complejidad tcnica por lo cual suele recurrirse a la

herencia virtual para evitar la duplicacin de datos.

Modularidad

Se denomina "modularidad" a la 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 mdulos. Al

igual que la encapsulacin, los lenguajes soportan el modularidad de diversas formas.

Principio de ocultacin

Cada objeto est aislado del exterior, es un mdulo natural, y cada tipo de objeto

expone una "interfaz" a otros objetos que especifica cmo pueden interactuar con los

objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su

modificacin por quien no tenga derecho a acceder a ellas; solamente los propios mtodos

internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no puedan

Pgina | 14
cambiar el estado interno de un objeto de manera inesperada, eliminando efectos

secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un

acceso directo a los datos internos del objeto de una manera controlada y limitando el

grado de abstraccin. La aplicacin entera se reduce a un agregado o rompecabezas de

objetos.

Recoleccin de basura

La recoleccin de basura (garbage collection) es la 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. Esto significa

que el programador no debe preocuparse por la asignacin o liberacin de memoria, ya

que el entorno la asignar al crear un nuevo objeto y la liberar cuando nadie lo est

usando. En la mayora de los lenguajes hbridos que se extendieron para soportar el

Paradigma de Programacin Orientada a Objetos como C++ u Object Pascal, esta

caracterstica no existe y la memoria debe desasignarse expresamente.

Pgina | 15
Algunos lenguajes orientados a objetos

S i m u l a (1967) es aceptado como el primer lenguaje que posee las

caractersticas principales de un lenguaje orientado a objetos. Fue creado para hacer

programas de simulacin, en donde los "objetos" son la representacin de la informacin

ms importante.

S m a l l t a l k (1972 a 1980) es posiblemente el ejemplo cannico, y con el que

gran parte de la teora de la programacin orientada a objetos se ha desarrollado.

Entre los lenguajes orientados a objetos se destacan los siguientes:

(es.wikipedia.org, 2017)

Pgina | 16
Conclusin

La POO es un paradigma surgido en los aos 1970, que utiliza objetos como

elementos fundamentales en la construccin de la solucin. Un objeto es una abstraccin

de algn hecho o ente del mundo real, con atributos que representan sus caractersticas o

propiedades, y mtodos que emulan su comportamiento o actividad. Todas las

propiedades y mtodos comunes a los objetos se encapsulan o agrupan en clases. Una

clase es una plantilla, un prototipo para crear objetos; en general, se dice que cada objeto

es una instancia o ejemplar de una clase.

Pgina | 17
Bibliografa

es.wikipedia.org. (Lunes 3 de Abril de 2017). https://es.wikipedia.org.

https://es.wikipedia.org:

https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos

Pgina | 18

También podría gustarte