Você está na página 1de 20

NDCE:

Agradecimiento 01
Dedicatoria 02
Presentacin 03
ntroduccin 04
Definicin de la poo 05
Lenguajes orientados a objetos 06
Objetos definicin y ejemplos 08
Las clases 09
Caractersticas de la POO 11
Ventajas de la Programacin Orientada a Objetos 13
Bibliografa 14
AGRADECIMIENTO
MS AGRADECMENTOS EN ESPECAL SON AL PROFESOR
NG.HUGO SERRANO RODAS, ya que me asigno este trabajo, me
dio salidas para llevar a cabo el trabajo monogrfico, consistente en
la programacin orientada a objetos, por compartir sus ideas en el
saln de clases y ayudarnos a ser mejores profesionales cada da
mas.
.
DEDICATORIA
El presente trabajo monogrfico va dedicado a todas las personas
que hicieron posible su elaboracin. Y la persona que estimo mucho
que es mi madre: HLDA VERGARA LEN por siempre darme su
apoyo incondicional cuando ms la necesito, el ng. Hugo Serrano
Rodas y a todos mis compaeros del segundo ciclo, con quienes
comparto ideas, debates sobre temas de diferentes reas.
PRESENTACION
La programacin orientada a objetos o POO (OOP segn sus siglas
en ingls) es un paradigma de programacin que usa los objetos en
sus interacciones, para disear aplicaciones y
programas informticos. Est basado en varias tcnicas,
incluyendo herencia, cohesin, abstraccin, polimorfismo, acoplami
ento yencapsulamiento. Su uso se populariz a principios de la
dcada de los aos 1990. En la actualidad, existe variedad de
lenguajes de programacin que soportan la orientacin a objetos.
INTRODUCCION
La POO 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.
El principio bsico de la programacin orientada a objetos es que
un sistema de software se ve como una secuencia de
transformaciones en un conjunto de objetos.
Definicin de la poo :
Es complicado definir qu es y qu no es un lenguaje de
programacin. Se asume generalmente que la traduccin de las
instrucciones a un cdigo que comprende la computadora debe ser
completamente sistemtica. Normalmente es la computadora la que
realiza la traduccin.
La programacin orientada a objetos es una forma de
programar que trata de encontrar una solucin a estos
problemas. ntroduce nuevos conceptos, que superan y
amplan conceptos antiguos ya conocidos.
es una notacin para escribir programas, a travs de los
cuales podemos comunicarnos con el hardware y dar as las
rdenes adecuadas para la realizacin de un determinado
proceso. Un lenguaje est definido por una gramtica o
conjunto de reglas que se aplican a un alfabeto constituido por
el conjunto de smbolos utilizados.
Conjunto de normas "lingsticas (palabras y smbolos) que
permiten escribir un programa y que ste sea entendido por el
ordenador y pueda ser trasladado a ordenadores similares
para su funcionamiento en otros sistemas.
Es un conjunto de palabras y smbolos que permiten al
usuario generar comandos e instrucciones para que la
computadora los ejecute.
Existen tres importantes partes en la definicin: la programacin
orientada a objetos:
1) utiliza objetos, no algortmicos, como bloques de construccin
lgicos (jerarqua de objetos)
2) cada objeto es una instancia de una clase
3) las clases se relacionan unas con otras por medio de relaciones
de herencia.
Un programa puede parecer orientado a objetos, pero si cualquiera
de estos elementos no existe, no es un programa orientado a
objetos especficamente, la programacin sin herencia es distinta de
la programacin orientada a objetos.
Loa programas orientado a objetos constan de objetos. los objetos
de un programa se comunican con cada uno de los restantes
pasando mensajes.
LENGUAJES ORIENTADOS A OBJETOS
Se le llama as a cualquier lenguaje de programacin que
implemente los conceptos definidos por la programacin orientada a
objetos. Existen:
1 LENGUAJES DE ALTO NI!EL:
Len"#a$e% i&pe'a(i)o% Utilizan instrucciones como unidad de
trabajo de los programas (Cobol, Pascal, C).
Len"#a$e% decla'a(i)o% . Los programas se construyen mediante
descripciones de funciones o expresiones lgicas (Lisp, Prolog).
Len"#a$e% o'ien(ado% a o*$e(o% El diseo de los programas se
basa mas en los datos y su estructura. La unidad de proceso es el
objeto y en el se incluyen los datos (variables) y las operaciones
que actan sobre ellos (Smalltalk, C++).
Len"#a$e% o'ien(ado% al p'o*le&a Diseados para problemas
especficos, principalmente de gestin, suelen ser generadores de
aplicaciones.
Len"#a$e% na(#'ale% Estn desarrollndose nuevos lenguajes con
el principal objetivo de aproximar el diseo y construccin de
programas al lenguaje de las personas.
Otra clasificacin que se puede hacer es la de atendiendo al
desarrollo de los lenguajes desde la aparicin de las computadoras,
que sigue un cierto paralelismo con las generaciones establecidas
en la evolucin de las mismas:
P'i&e'a "ene'acin. Lenguajes mquina y ensambladores.
Se"#nda "ene'acin. Primeros lenguajes de alto nivel imperativo
(FROTRAN, COBOL).
Te'ce'a "ene'acin. Lenguajes de alto nivel imperativo. Son los
ms utilizados y siguen vigentes en la actualidad (ALGOL 8, PL/,
PASCAL, MODULA).
C#a'(a "ene'acin. Orientados bsicamente a las aplicaciones de
gestin y al manejo de bases de datos (NATURAL, SQL).
+#in(a "ene'acin. Orientados a la inteligencia artificial y al
procesamiento de los lenguajes naturales (LSP, PROLOG).
, LEGUAJES DE BAJO NI!EL
Entre los ms importantes lenguajes de programacin tenemos:
SIMULA -.
Surge en Noruega en 1967, desarrollado por Krinsten
Nygaard y Ole-Johan Dahl, en el centro de clculo
noruego.
E$&:
Hola Mundo!
! Esto es un comentario;
Begincommentaqu comienza el programa;
OutText("HolaMundo!");
Outmage;
Endof program;
C
creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell
LENGUAJE C//
Se pronuncia "ce plus plus. Fue desarrollada por Bjarme Stroustrup
en los Bell Laboratories a principios de la dcada de los 80. C++
introduce la programacin orientada al objeto en C.
Ejemplo:
ADA
Ada es un lenguaje de programacin orientado a objetos. Es un
lenguaje multipropsito, orientado a objetos y concurrente, pudiendo
llegar desde la facilidad de Pascal hasta la flexibilidad de C++.
SMALLTAL0
Fue el primer lenguaje de programacin orientado a objetos.
Desarrollado en el Xerox PARC. Es el primero en aportar la
arquitectura de Modelo/Visor/Controlador.
EI11EL
Es un lenguaje de programacin escrito por Bertrand Meyer. Al
contrario que Smalltalk, incluye un preprocesador que permite
la traduccin de cdigo Eiffel a Lenguaje C. Es ideal para la
ingeniera de software, que permite la encapsulacin , control de
acceso y mbito de las modificaciones. Como lenguaje orientado a
objetos <<puro>>, es presumiblemente el mejor por sus
capacidades tcnicas.
JA!A
Java es un lenguaje de programacin orientado a objetos,
desarrollado por Sun Microsystems a principios de los aos 90. El
lenguaje en s mismo toma mucha de su sintaxis de C y C++, pero
tiene un modelo de objetos ms simple y elimina herramientas de
bajo nivel, que suelen inducir a muchos errores, como la
manipulacin directa de punteros o memoria. Con respecto a la
memoria, su gestin no es un problema ya que sta es gestionada
por el propio lenguaje y no por el programador.
Definicin de objetos
Entender que es un objeto es la clave para entender cualquier
lenguaje orientado a objetos.
Definicin terica: Un objeto es una unidad de cdigo compuesto de
variables y mtodos relacionados.
Un Objeto es un elemento real o abstracto que tiene un estado, un
comportamiento y una identidad. Un objeto es, pues, una mesa, un
alumno, etc., pues son elementos reales y estn bien definidos.
Tambin lo puede ser un concepto abstracto como un elemento
llamado "Ordenador que es capaz de recibir un conjunto de
nmeros y ordenarlo ascendente o descendentemente.
Las caractersticas que definen un objeto son tres:
E%(ado: Viene determinado para el conjunto de propiedades o
atributos que tiene el objeto (Estructura Esttica), junto con los
valores que pueden asumir cada uno de esos atributos (Estructura
Dinmica).
Ejemplo :
Para el objeto alumno "Juan Diego Prez
Su estructura esttica sera:
Nombres y Apellidos
Edad
Sexo
Direccin
Curso
Asignaturas
Su estructura dinmica en 1996:
Nombres y Apellidos: Juan Diego
Prez
Edad : 15
Sexo : Masculino
Direccin : Calle 94 # 55-17
Curso : Noveno A
Asignaturas : Matemticas, Espaol,
Geografa, Historia
Su estructura dinmica en 1997:
Nombres y Apellidos: Juan Diego
Prez
Edad : 16
Sexo : Masculino
Direccin : Calle 33 # 76A-35
Curso : Dcimo A
Asignaturas : Matemticas, Espaol,
Qumica, Fsica
Co&po'(a&ien(o: Viene determinado por la forma de actuar al
recibir un mensaje para que realice una accin. Un Mensaje es una
orden que se manda a un objeto para que realice una operacin con
un propsito especfico.
Un mensaje viene definido por tres componentes:
El objeto receptor del mensaje, es decir, al objeto que se enva el
mensaje.
El selector del mensaje, que es la accin que se quiere que realice
el objeto.
Los argumentos, que son los valores que se transmiten con el
selector y que, en muchos casos, pueden ser nulos. Por ejemplo, el
mensaje:
Juan Diego Prez. Asignaturas(1996)
ndica que se desea conocer las asignaturas en que estuvo
matriculado el alumno "Juan Diego Prez en el ao 1996.
Iden(idad: Es la propiedad caracterstica que tiene un objeto que le
distingue de todos los dems
Por ejemplo, para hacer referencia al alumno "Juan Diego Prez se
puede seleccionar alguno de los datos que lo identifique durante
toda su vida, como su nombre o su cdula de ciudadana.
Se dice que un objeto est encapsulado cuando est protegido del
acceso indiscriminado de cualquier persona. As cuando se tiene en
las manos una calculadora se ve que se puede encender o apagar,
digitar nmeros u operaciones, pero no se puede ver cmo realiza
algn clculo o cmo despliega los caracteres en la pantalla.
La encapsulacin es el proceso que aplica el diseador de un objeto
para ocultar aquellos detalles del objeto que no son
especficamente necesarios para su uso.
Por tanto, se puede conclur que un objeto es un elemento
autnomo de informacin, que tiene una estructura definida por sus
atributos y propiedades y que proporciona unos servicios que
definen su comportamiento. Su estructura est encapsulada (est
oculta al acceso del usuario) y sus servicios no. Estos servicios, que
definen la nterfaz del objeto, son lo que solicita el usuario para que
realice una accin especfica.

LAS CLASES
Una clase es una construccin que se utiliza como un modelo (o
plantilla) para crear objetos de ese tipo. El modelo describe el
estado y contiene el comportamiento que todos los objetos creados
a partir de esa clase tendrn. Un objeto creado a partir de una
determinada clase se denomina una instancia de esa clase.
Una clase por lo general representa un sustantivo, como una
persona, lugar o cosa. Es el modelo de un concepto dentro de un
programa de computadora. Fundamentalmente, delimita los
posibles estados y define el comportamiento del concepto que
representa. Encapsula el estado a travs de espacios de
almacenaje de datos llamados atributos, y encapsula el
comportamiento a travs de secciones de cdigo reutilizables
llamadas mtodos.
Ms tcnicamente, una clase es un conjunto coherente que consiste
en un tipo particular de metadatos. Una clase tiene una interfaz y
una estructura. La interfaz describe cmo interactuar con la clase y
sus instancias con mtodos, mientras que la estructura describe
cmo los datos se dividen en atributos dentro de una instancia. Una
clase tambin puede tener una representacin (meta objeto) en
tiempo de ejecucin, que proporciona apoyo en tiempo de ejecucin
para la manipulacin de los metadatos relacionados con la clase.
En el diseo orientado a objetos, una clase es el tipo ms especfico
de un objeto en relacin con una capa especfica.
Los lenguajes de programacin que soportan clases difieren
sutilmente en su soporte para diversas caractersticas relacionadas
con clases. La mayora soportan diversas formas de herencia.
Muchos lenguajes tambin soportan caractersticas para
proporcionar encapsulacin, como especificadores de acceso.
Atributos de una clase.
Ahora trataremos de concentrarnos en los atributos de una clase.
Los atributos son las caractersticas, cualidades, propiedades
distintivas de cada clase. Contienen informacin sobre el objeto.
Determinan la apariencia, estado y dems particularidades de la
clase. Varios objetos de una misma clase tendrn los mismos
atributos pero con valores diferentes.
Cuando creamos un objeto de una clase determinada, los atributos
declarados por la clase son localizadas en memoria y pueden ser
modificados mediante los mtodos.
Lo ms conveniente es que los atributos sean privados para que
solo los mtodos de la clase puedan modificarlos.
Plantearemos un nuevo problema para analizar detenidamente la
definicin, sintaxis y acceso a los atributos.
Mtodos de una clase.
Los mtodos son como las funciones en los lenguajes
estructurados, pero estn definidos dentro de una clase y operan
sobre los atributos de dicha clase.
Los mtodos tambin son llamados las responsabilidades de la
clase. Para encontrar las responsabilidades de una clase hay que
preguntarse qu puede hacer la clase.
El objetivo de un mtodo es ejecutar las actividades que tiene
encomendada la clase a la cual pertenece.
Los atributos de un objeto se modifican mediante llamadas a sus
mtodos.
Confeccionaremos un nuevo problema para concentrarnos en la
definicin y llamada a mtodos.
Mtodo constructor de una clase (__construct)
El constructor es un mtodo especial de una clase. El objetivo
fundamental del constructor es inicializar los atributos del objeto que
creamos.
Bsicamente el constructor remplaza al mtodo inicializar que
habamos hecho en el concepto anterior.
Las ventajas de implementar un constructor en lugar del mtodo
inicializar son:
1. El constructor es el primer mtodo que se ejecuta cuando se
crea un objeto.
2. El constructor se llama automticamente. Es decir es
imposible de olvidarse llamarlo ya que se llamar
automticamente.
3. Quien utiliza POO (Programacin Orientada a Objetos)
conoce el objetivo de este mtodo.
Otras caractersticas de los constructores son:
El constructor se ejecuta inmediatamente luego de crear un
objeto y no puede ser llamado nuevamente.
Un constructor no puede retornar dato.
Un constructor puede recibir parmetros que se utilizan
normalmente para inicializar atributos.
El constructor es un mtodo opcional, de todos modos es muy
comn definirlo.
CARACTER2STICAS DE LA PROGRAMACI3N ORIENTADA A
OBJETOS
ABSTRACCI3N
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 de los componentes del sistema.
Algunos autores confunden este concepto con el principio de
ocultacin, principalmente porque se suelen emplear
conjuntamente.
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 OCULTACI3N
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.
POLIMOR1ISMO
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++.
4ERENCIA
Las clases no estn 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.
4e'encia %i&ple (herencia jerrquica)
En esta jerarqua cada clase tiene como mximo una sola
superclase. La herencia simple permite que una clase herede las
propiedades de su superclase en una cadena jerrquica.
4e'encia &5l(iple 67e'encia en &alla8
Una malla o retcula consta de clases, cada una de las cuales
puede tener uno O ms superclases inmediatas Una herencia
mltiple es aquella en la que cada clase puede heredar mtodos y
variables de cualquier nmero de superclase Conceptos
fundamentales de programacin orientada a objetos 99
En la Figura 3 28 la clase C tiene dos superclases, A y D Por
consiguiente, la clase C hereda las propiedades de las clases A y D
Evidentemente, esta accin puede producir un conflicto de
nombres, donde la clase C hereda las mismas propiedades de A y
D.
VENTAJAS DE LA PROGRAMACN ORENTADA A OBJETOS
Vamos a ver las ventajas ms importantes de la programacin
orientada a objetos:
REUSABLDAD. Cuando hemos diseado adecuadamente
las clases, se pueden usar en distintas partes del programa y
en numerosos proyectos.
MANTENBLDAD. Debido a las sencillez para abstraer el
problema, los programas orientados a objetos son ms
sencillos de leer y comprender, pues nos permiten ocultar
detalles de implementacin dejando visibles slo aquellos
detalles ms relevantes.
MODFCABLDAD. La facilidad de aadir, suprimir o
modificar nuevos objetos nos permite hacer modificaciones
de una forma muy sencilla.
FABLDAD. Al dividir el problema en partes ms pequeas
podemos probarlas de manera independiente y aislar mucho
ms fcilmente los posibles errores que puedan surgir.
La programacin orientada a objetos presenta tambin algunas
desventajas como pueden ser:
Cambio en la forma de pensar de la programacin tradicional
a la orientada a objetos.
La ejecucin de programas orientados a objetos es ms lenta.
La necesidad de utilizar bibliotecas de clases obliga a su
aprendizaje y entrenamiento.
BBLOGRAFA
WKPEDA
BERTOLQTT ZUGA, Carmen y FLORES CUETO, Juan
Jos Mtodo de las 6D. Universidad San Martn de Porres.
2da. Edicin 2008.
WWW.ELRCONDELVAGO.ES
CARRASCO MUOZ, JOEL "Creacin de Programas con
Borland C ++ 5.0 "Centro de extensin y Proyeccin Social.
UN. 1era Edicin 2002.
CASTAEDA DE LA ROSA, Ricardo "Aplicacin de
Programas. Borland C ++ 6.0. Editorial Grupo Universitario
SAC 2005. Lima Per.
DETEL, H. UN DETEL, P.J. "Como Programar C/ C ++*.
Prentice Hall Hispanoamrica S.A. 2009. 5ta Edicin
MARCELO VLLALOBOS, Ricardo Fundamentos de
Programacin C ++ ms de 100 Algoritmos codificados. 2008.
Lima Per.
http://wwwcristalab.com/tutoriales/programacion-orientada-a-
objetos-en-visual-basic-net-c2731/
Programacin orientada a objetos por Roberto rodrguez
Echevarra, lvaro prieto ramos, encarna sosa Snchez.-
buscada en una obra en
El lenguaje de programacin c++-Omar Manuel salcedo
Galvn -universidad tecnolgica de bolvar, Colombia.
MONOGRAFAS.COM
SLDESHARE.NET
Libro: p.o.o. de Luis Joyanes Aguilar
http://computacion.cs.cinvestav.mx/.../slides/POO-01.pdf
http://www.youtube.com/user/paueky/videos?
view=1&flow=grid
Programacin de deytel
C# para estudiantes Douglas Bell
Programacin Orientada a Objetos con C++. 4 Edicin
HTTP://JAVA.CBERAULA.COM

Você também pode gostar