Sie sind auf Seite 1von 15

PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

PROGRAMCION ESTRUCTURADA 1

TAREA 3 III PARCIAL

PROGRAMACION ORIENTADA A OBJETOS

Tabla de contenido

Orgenes de la programacin de objetos.........................................................................1,2

Algunos conceptos fundamentales .........................................................................3,4,5


Caractersticas importantes ............................................................................6,7,8,9
Conclusiones10

Recomendaciones11

Bibliografa.......12
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

Introduccion

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.


PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

Objetivos generales y especficos

Aprenderemos de los orgenes de la programacin de objetos

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

objetos".

Conocer ms de los Fundamentos de Programacin Orientada a Objetos.

Principios de desarrollo orientada a objetos.


PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

CONTENIDO

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 encapsulami

ento.

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.

Los objetos son entidades que tienen un determinado "estado", "comportamiento

(mtodo)" e "identidad":

La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con

otras palabras, es su identificador (concepto anlogo al de identificador de

una variable o una constante).

Un objeto contiene toda la informacin que permite definirlo e identificarlo frente a

otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase,

al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos disponen

de mecanismos de interaccin llamados mtodos, que favorecen la comunicacin entre

ellos. Esta comunicacin favorece a su vez el cambio de estado en los propios objetos.

1
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

Esta caracterstica lleva a tratarlos como unidades indivisibles, en las que no se separa el

estado y el comportamiento.

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

El origen de programacin de objetos

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

simulaciones, creado por Ole-Johan Dahl yKristen 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 deC++, una extensin del lenguaje de

2
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

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.

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.

Algunos conceptos fundamentales

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:

3
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

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.

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

4
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

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.

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.

5
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

Identificacin de un objeto

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

sus atributos y funciones correspondientes.

Caractersticas 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, una variedad 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.

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.

6
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

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

7
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

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

8
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

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.

9
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

CONCLUSIONES

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.

10
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

RECOMENDACIONES

Al trabajar con la programacin orientada a objetos sea esta desarrollada en otras

plataformas de programacin o en lenguaje C, sabemos las formas de lograr un

mejor rendimiento del equipo a controlar y aplicar soluciones sencillas, de

manera que sea fcilmente digeribles para el usuario y/o destinatario del trabajo

final.

Podemos dar a conocer de una forma sencilla los mecanismos que se usan en

este nivel de programacin, a personas que deseen una explicacin rpida y

sencilla de lo que es la programacin orientada a objetos.

Tenemos los conocimientos necesarios como para enfrentar un problema real y

desarrollo en otro lenguaje de programacin, pues concebimos la idea de que el

lenguaje C es la base de la programacin.

11
PROGRAMACION ORIENTADA A OBJETOS-TAREA3-III PARCIAL

BIBLIOGRAFA

(PEA, 2016)

(JAEL, 2016)

(PEA C. , 2016)

12

Das könnte Ihnen auch gefallen