Vous êtes sur la page 1sur 16

TECNOLGICO NACIONAL DE MXICO

Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

INSTITUTO TECNOLGICO DE SALINA CRUZ

TEMA:
Fundamentos de programacin orientada a objetos

FACILITADOR:
Ing. Julissa A. Alquisiris Sibaja

NOMBRE DEL ALUMNO:


Perla Jennifer Mendoza Martnez

SEMESTRE: 1

GRUPO: E-2

CARRERA: Ing. En tics

SALINA CRUZ, OAXACA A 12 de septiembre del 2014

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

ndice
INTRODUCCIN.. 3
CARACTERSTICAS DE LA PROGRAMACIN ORIENTADA A OBJETOS
OBJETOS5-6
CLASES7-8
ENVIO DE MESAJES...8
ENCAPSULAMIENTO....9
HERENCIA..10
POLIMORFISMO.11-12

ABSTRACCIN.13-14
MODULARIDAD..14
PRINCIPIO DE OCULTACIN..14
RECOLECCIN DE BASURA.14-15
CONCLUSIN...16

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

Introduccin
Es importante aclarar desde un principio que no solo existe la programacin estructurada
pues era la nica la cual yo conoca y tena conocimientos previos, sin embargo al realizar
esta investigacin me encontr con un nuevo paradigma que es la programacin orientada
objetos.
La programacin orientada a objetos es una filosofa, un modelo de programacin, con
su teora y su metodologa, que conviene conocer y estudiar antes que nada. Un lenguaje
orientado a objetos es un lenguaje de programacin que permite el diseo de aplicaciones
orientadas a objetos. Dicho esto, lo normal es que toda persona que vaya a desarrollar
aplicaciones orientadas a objetos aprenda primero la filosofa (o adquiera la forma de
pensar) y despus el lenguaje, porque no slo hay un paradigma sino tambin muchos
lenguajes. En este documento veremos brevemente los conceptos bsicos bueno ms que
nada las caractersticas que posee la programacin orientada a objetos, y as poder
comprender el porqu de su aparicin.

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

Caractersticas de la programacin orientada a objetos

Hoy en da la tecnologa orientada a objetos ya no se aplica solamente a los lenguajes de


programacin, adems se viene aplicando en el anlisis y diseo con mucho xito, al igual
que en las bases de datos. Es que para hacer una buena programacin orientada a
objetos hay que desarrollar todo el sistema aplicando esta tecnologa, de ah la
importancia del anlisis y el diseo orientado a objetos.
La programacin orientada a objetos es una de las formas ms populares de programar y
viene teniendo gran acogida en el desarrollo de proyectos de software desde los ltimos
aos. Esta acogida se debe a sus grandes capacidades y ventajas frente a las antiguas
formas de programar.
Para entender este modelo vamos a revisar 3 conceptos bsicos:

Objetos
Clases
Envo de mensajes

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

Objetos
Entender que es un objeto es la clave para entender cualquier lenguaje orientado a
objetos.
Existen muchas definiciones que se le ha dado al Objeto. Primero empecemos
entendiendo que es un objeto del mundo real. Un objeto del mundo real es cualquier cosa
que vemos a nuestro alrededor. Digamos que para leer este artculo lo hacemos a travs
del monitor y una computadora, ambos son objetos, al igual que nuestro telfono celular,
un rbol o un automvil.
Analicemos un poco ms a un objeto del mundo real, como la computadora. No
necesitamos ser expertos en hardware para saber que una computadora est compuesta
internamente por varios componentes: la tarjeta madre, el chip del procesador, un disco
duro, una tarjeta de video, y otras partes ms. El trabajo en conjunto de todos estos
componentes hace operar a una computadora.
Internamente, cada uno de estos componentes puede ser sumamente complicado y puede
ser fabricado por diversas compaas con diversos mtodos de diseo. Pero nosotros no
necesitamos saber cmo trabajan cada uno de estos componentes, como saber que hace
cada uno de los chips de la tarjeta madre, o cmo funciona internamente el procesador.
Cada componente es una unidad autnoma, y todo lo que necesitamos saber de adentro
es cmo interactan entre s los componentes, saber por ejemplo si el procesador y las
memorias son compatibles con la tarjeta madre, o conocer donde se coloca la tarjeta de
video. Cuando conocemos como interaccionan los componentes entre s, podremos armar
fcilmente una computadora.
Que tiene que ver esto con la programacin? La programacin orientada a objetos
trabaja de esta manera. Todo el programa est construido en base a diferentes
componentes (Objetos), cada uno tiene un rol especfico en el programa y todos los
componentes pueden comunicarse entre ellos de formas predefinidas.
Todo objeto del mundo real tiene 2 componentes: caractersticas y comportamiento.
Por ejemplo, los automviles tienen caractersticas (marca, modelo, color, velocidad
mxima, etc.) y comportamiento (frenar, acelerar, retroceder, llenar combustible, cambiar
llantas, etc.).
Los Objetos de Software, al igual que los objetos del mundo real, tambin tienen
caractersticas y comportamientos. Un objeto de software mantiene sus caractersticas en
Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina
Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

una o ms "variables", e implementa su comportamiento con "mtodos". Un mtodo es


una funcin o subrutina asociada a un objeto.

Para redondear estas ideas, imaginemos que tenemos estacionado en nuestra cochera un
Ford Focus color azul que corre hasta 260 km/h. Si pasamos ese objeto del mundo real al
mundo del software, tendremos un objeto Automvil con sus caractersticas
predeterminadas:
Marca
Modelo
Color
Velocidad Mxima = 260 km/h

=
=
=

Ford
Focus
Azul

Cuando a las caractersticas del objeto le ponemos valores decimos que el objeto tiene
estados. Las variables almacenan los estados de un objeto en un determinado momento.
Definicin terica: Un objeto es una unidad de cdigo compuesto de variables y mtodos
relacionados.

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

Las Clases
En el mundo real, normalmente tenemos muchos objetos del mismo tipo. Por ejemplo,
nuestro telfono celular es slo uno de los miles que hay en el mundo. Si hablamos en
trminos de la programacin orientada a objetos, podemos decir que nuestro objeto celular
es una instancia de una clase conocida como "celular". Los celulares tienen caractersticas
(marca, modelo, sistema operativo, pantalla, teclado, etc.) y comportamientos (hacer y
recibir llamadas, enviar mensajes multimedia, transmisin de datos, etc.).

Cuando se fabrican los celulares, los fabricantes aprovechan el hecho de que los celulares
comparten esas caractersticas comunes y construyen modelos o plantillas comunes, para
que a partir de esas se puedan crear muchos equipos celulares del mismo modelo. A ese
modelo o plantilla le llamamos CLASE, y a los equipos que sacamos a partir de ella la
llamamos OBJETOS.

Esto mismo se aplica a los objetos de software, se puede tener muchos objetos del mismo
tipo y mismas caractersticas.
Definicin terica: La clase es un modelo o prototipo que define las variables y mtodos
comunes a todos los objetos de cierta clase. Tambin se puede decir que una clase es
una plantilla genrica para un conjunto de objetos de similares caractersticas.
Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina
Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

Por otro lado, una instancia de una clase es otra forma de llamar a un objeto. En realidad
no existe diferencia entre un objeto y una instancia. Slo que el objeto es un trmino ms
general, pero los objetos y las instancias son ambas representacin de una clase.
Definicin Terica: Una instancia es un objeto de una clase en particular.

Envo de Mensajes
Un objeto es intil si est aislado. El medio empleado para que un objeto interacte con
otro son los mensajes. Hablando en trminos un poco ms tcnicos, los mensajes son
invocaciones a los mtodos de los objetos.

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

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


caractersticas siguientes son las ms importantes:
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.
Ejemplo 1: De un televisor, el usuario conoce su apariencia y parte de su funcionamiento.
Slo le importa que funcionen el selector de canales, el video y el audio; no le interesa
saber cmo funciona cada una de las partes internas del aparato, ese detalle slo le
interesan al fabricante y al tcnico de servicio.
Ejemplo 2: De un animal no slo es necesario conocer su apariencia; tambin se requiere
conocer qu sabe hacer y cmo reacciona ante determinadas situaciones.
Caja Negra: Un objeto en el que su comportamiento y atributos son conocidos pero no as
su trabajo interno, el cual continua siendo un misterio.
Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina
Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

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.
Las clases heredan los datos y mtodos de la superclase. Un mtodo heredado puede ser
sustituido por uno propio si ambos tienen el mismo nombre.
La herencia puede ser simple (cada clase tiene slo una superclase) o mltiple (cada
clase puede tener asociada varias superclases). La clase Docente y la clase Estudiante
heredan las propiedades de la clase Persona (superclase, herencia simple). La clase
Preparador (subclase) hereda propiedades de la clase Docente y de la clase Estudiante
(herencia mltiple).
Ejemplo 2:El gato y el Perro tendran la herencia (mtodos y atributos) del Mamfero.
Mamfero: Gato Perro etc.

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

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++.
Por ejemplo, el rea de un cuadrado, rectngulo y crculo, son calculados de manera
distinta; sin embargo, en sus clases respectivas puede existir la implementacin del rea

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

bajo el nombre comn rea. En la prctica y dependiendo del objeto que llame al mtodo,
se usar el cdigo correspondiente.
Ejemplos, Superclase: Clase Animal Subclases: Clases Mamfero, Ave, Pez
Se puede definir un mtodo Comer en cada subclase, cuya implementacin cambia de
acuerdo a la clase invocada, sin embargo el nombre del mtodo es el mismo.
Mamifero.Comer Ave.Comer Pez.Comer
Otro ejemplo de polimorfismo es el operador +. Este operador tiene dos funciones
diferentes de acuerdo al tipo de dato de los operandos a los que se aplica. Si los dos
elementos son numricos, el operador + significa suma algebraica de los mismos, en
cambio si por lo menos uno de los operandos es un String o Carcter, el operador es la
concatenacin de cadenas de caracteres.
Otro ejemplo de sobrecarga es cuando tenemos un mtodo definido originalmente en la
clase madre, que ha sido adaptado o modificado en la clase hija. Por ejemplo, un mtodo
Comer para la clase Animal y otro Comer que ha sido adaptado para la clase Ave, quien
est heredando de la clase Animal.
Cuando se desea indicar que se est invocando (o llamando) a un mtodo sobrecargado y
que pertenece a otra clase (por ejemplo, a la clase padre) lo indicamos con la siguiente
sintaxis:
Clase_Madre::nombre_mtodo;
Para el ejemplo, la llamada en la clase hija Ave del mtodo sobrecargado Comer de la
clase madre Animal sera:
Animal:Comer

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

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.
Ejemplo 1: Qu caractersticas podemos abstraer de los automviles? o Qu
caractersticas semejantes tienen todos los automviles?
Caractersticas: Marca, Modelo, Nmero de chasis, Peso llantas o cauchos, Puertas,
Ventanas... Comportamiento: Acelerar, Frenar, Retroceder...
Ejemplo 2: La gerencia de un taller mecnico necesita un sistema para controlar los
vehculos que ingresan a sus instalaciones. En este caso, las caractersticas esenciales de
la clase vehculo son: Marca, Modelo, Color, Falla detectada, Nombre del Propietario,
Direccin del Propietario, Telfono del Propietario...
A esto se le llama abstraccin. En general un programa no es ms que una descripcin
abstracta de un procedimiento o fenmeno que existe o sucede en el mundo real.

La abstraccin es crucial para comprender este complejo mundo.


Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina
Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

La abstraccin es esencial para el funcionamiento de una mente humana normal y es


una herramienta muy potente para tratar la complejidad.

La abstraccin es clave para disear un buen software.

Ejemplo 3: Imaginemos que queremos aplicar la abstraccin a las Aves. El objeto seria el
pjaro, y sus caractersticas, por ejemplo, serian:
Pico
Alas
Plumas
Patas
Las funcionalidades asociadas serian: Volar, parar, etc.
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 o garbage collection es la tcnica por la cual el entorno de
objetos se encarga de destruir automticamente, y por tanto desvincular la memoria
Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina
Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

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.

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

TECNOLGICO NACIONAL DE MXICO


Instituto Tecnolgico de Salina Cruz

2014, Ao de Octavio Paz

Conclusin:
En conclusin despus de lo investigado pude notar que la programacin orientada a
objetos permite la optimizacin del cdigo generado gracias a que mediante tcnicas de
herencia, atributos estticos entre otros permiten, que el cdigo sea genrico de manera
que sea reutilizable. Es de decir es una ventaja en la cual al momento de programar ya no
tendramos que escribir otro cdigo diferente sino podemos utilizar la herencia.
Adems se haran programas relacionados con la vida real sin tener que pensar mucho al
respecto sobre cmo hacerlo as el usuario se le aria ms fcil de realizarlo.
La POO se me hace muy interesante de utilizar pues posee caractersticas muy
necesarias y ventajosas que nos facilitaran mucho en el momento de querer programar
algn objeto o algo en un software de verdad.

Carretera a San Antonio Monterrey Km. 1.7, C. P. 70701, Salina


Cruz, Oaxaca.
Tels. 01 (971) 71 6 28 37 y 01 (971) 71 6 32 42,
e-mail: contacto@itsalinacruz.edu.mx.
www.itsalinacruz.edu.mx

Vous aimerez peut-être aussi