Sei sulla pagina 1di 15

La programacin orientada a objetos (POO)

CARRERA PROFESIONAL: INGENIERA DE SISTEMAS E INFORMTICAS

Curso

: ingeniera de software

TUTOR

: CONDORI ZAMORA KELLY

CICLO

: VI

ALUMNOS

ndice

Dedicatoria.3
Introduccin...4
Definicin de la POO...5
Lenguajes orientados a objetos...6
Lenguajes de alto nivel..,.6
Lenguajes de bajo nivel.7
. Definicin de objetos.8
Tres caractersticas q definen aun objeto...9

.Estado
Comportamiento
Identidad
Las clases....10
Atributos de una clase..11
Mtodos de una clase...11
Mtodo constructor de una clase (__construct)...11
Caractersticas de la programacin orientada a objetos.12
Ventajas de la programacin orientada a objetos.15
Bibliografa..16

DEDICATORIA

El presente trabajo monogrfico va dedicado a todas las personas que hicieron posible su elaboracin.
Y las persona que estimo mucho que son nuestros padres por siempre darnos su apoyo incondicional
cuando ms lo necesitoamos, a la universidad privada telesup por prepararnos para ser buenos
profesionales y a todos los compaeros de estudio con quienes compartimos ideas, debates sobre
temas de diferentes reas.

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. Introduce 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: Lenguajes de alto nivel y de bajo nivel

De alto nivel
Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de los programas
(Cobol, Pascal, C).
Lenguajes declarativos. Los programas se construyen mediante descripciones de funciones
o expresiones lgicas (Lisp, Prolog).
Lenguajes orientados a objetos. 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++).
Lenguajes orientados al problema. Diseados para problemas especficos, principalmente
de gestin, suelen ser generadores de aplicaciones.
Lenguajes naturales. 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:
I.
II.
III.
IV.
V.

Primera generacin. Lenguajes mquina y ensambladores.


Segunda generacin. Primeros lenguajes de alto nivel imperativo (FROTRAN, COBOL).
Tercera generacin. Lenguajes de alto nivel imperativo. Son los ms utilizados y siguen
vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA).
Cuarta generacin. Orientados bsicamente a las aplicaciones de gestin y al manejo de
bases de datos (NATURAL, SQL).
Quinta generacin. Orientados a la inteligencia artificial y al procesamiento de los lenguajes
naturales (LISP, PROLOG).

DE BAJO NIVEL
Entre los ms importantes lenguajes de programacin tenemos:

SIMULA 67
Surge en Noruega en 1967, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en el
centro de clculo noruego.
Ejm:
Hola Mundo!
1

! Esto es un comentario;
Begincommentaqu comienza el programa;
OutText("HolaMundo!");
OutImage;
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++.

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

JAVA
1

Java es un lenguaje de programacinorientado 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.

Tres caractersticas que definen un objeto


Estado: 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 Jos Ayala vega
Su estructura esttica sera:
Su estructura dinmica en 1990:
Nombres y Apellidos
Nombres y Apellidos: Jos Ayala vega
Edad
Edad : 24
Sexo
Sexo : Masculino
Direccin
Direccin : s bolvar 303
Curso
Curso : Noveno A
Asignaturas
Asignaturas : Matemticas, Espaol,
Geografa, Historia
Su estructura dinmica en 1990:
Nombres y Apellidos: Jos Ayala vega
Edad : 24
Sexo : Masculino
Direccin : S. BOLIVAR 303
Curso : Dcimo A
Asignaturas : Matemticas, Espaol,
Qumica, Fsica

Comportamiento: 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:
1

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:
Jos Ayala vega. Asignaturas (1990)
Indica que se desea conocer las asignaturas en que estuvo matriculado el alumno Jos Ayala vega
en el ao 1990
Identidad: Es la propiedad caracterstica que tiene un objeto que le distingue de todos los dems
Por ejemplo, para hacer referencia al alumno Jos Ayala vega 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 concluir 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 Interfaz 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
1

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:
El constructor es el primer mtodo que se ejecuta cuando se crea un objeto.
1

El constructor se llama automticamente. Es decir es imposible de olvidarse llamarlo ya que se


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

CARACTERSTICAS DE LA PROGRAMACIN ORIENTADA A OBJETOS

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
1

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

HERENCIA

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.
Herencia simple (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.
Herencia mltiple (herencia en malla)
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 PROGRAMACIN ORIENTADA A OBJETOS


Vamos a ver las ventajas ms importantes de la programacin orientada a objetos:
REUSABILIDAD. Cuando hemos diseado adecuadamente las clases, se pueden usar en
distintas partes del programa y en numerosos proyectos.
MANTENIBILIDAD. 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.
1

MODIFICABILIDAD. La facilidad de aadir, suprimir o modificar nuevos objetos nos permite


hacer modificaciones de una forma muy sencilla.
FIABILIDAD. 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.

BIBLIOGRAFA

WWW.ELRICONDELVAGO.ES
CARRASCO MUOZ, JOEL Creacin de Programas con Borland C ++ 5.0 Centro de

extensin y Proyeccin Social. UNI..


CASTAEDA DE LA ROSA, Ricardo Aplicacin de Programas. Borland C ++ 6.0.

Editorial Grupo Universitario SAC 2005. Lima Per.


DEITEL, H. UN DEITEL, P.J. Como Programar C/ C ++*. Prentice Hall Hispanoamrica

S.A. 2009. 5ta Edicin


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


MONOGRAFAS.COM
SLIDESHARE.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

Potrebbero piacerti anche