Anda di halaman 1dari 18

Taller de Modelamiento de Software

1
DEDICATORIA

Primero y antes que nada, dar gracias a Dios,


por estar conmigo en cada paso que doy, por
fortalecer mi corazn e iluminar mi mente y
por haber puesto en mi camino a aquellas
personas que han sido mi soporte y compaa
durante todo el periodo de estudio.

Agradecer hoy y siempre a mi familia por el


esfuerzo realizado por ellos. El apoyo en mis
estudios, de ser as no hubiese sido posible.
A mis padres y dems familiares ya que me
brindan el apoyo, la alegra y me dan la
fortaleza necesaria para seguir adelante.

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

2
TTULO

PROGRAM
ACIN
ORIENTA
DA A
OBJETOS

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

3
OBJETIVOS

Que el alumno aprenda

conceptos

fundamentales

involucrados

en el

estudio de la POO.

Que el alumno adquiera las habilidades necesarias para integrarse en el


mundo de POO.

Que nosotros emplear de modo eficiente y eficaz los procesos de la POO.

Que alumnos mediante estos ejemplos relacione la POO con el modelamiento


de software.

Que mediante este tema de introduccin conozcamos a manera de teora


algunos trminos ms usados en la POO, de tal manera que al momento de
entrar a la prctica podamos desenvolvernos en clase y mediante el debate
llegar a conclusiones que nos dejen satisfechos con la leccin aprendida.

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

4
INTRODUCCIN

Los objetos son entidades que combinan estado (atributo), comportamiento (mtodo) e
identidad:
El estado est compuesto de datos, ser uno o varios atributos a los que se habrn
asignado unos valores concretos (datos).
El comportamiento est definido por los procedimientos o mtodos con que puede
operar dicho objeto, es decir, qu operaciones se pueden realizar con l.
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).
La programacin orientada a objetos, es necesaria en la vida de un programador ya que con
esta visualizamos las actividades de cada una de esas. 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. 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 relacionados, al coexistir en una
clase, las clases usan los mtodos para modificar y manipular los atributos que tienen. 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.
La programacin estructurada tradicional difiere de la programacin orientada a objetos.
Cuando se programa objetos 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 en 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.

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

TEMAS Y SUBTEMAS
QU ES LA PROGRAMACIN ORIENTADA A OBJETOS?
Tambin llamada por su acrnimo POO (o en ingls OOP) es un paradigma de
programacin basado en el concepto de objetos que pueden contener datos
almacenado en campos, generalmente conocidos como atributos y cdigo agrupado
en forma de procedimientos llamados regularmente mtodos. Los mtodos suelen
ser utilizados para modificar los campos internos del objeto y permiten la
interaccin entre los mismos.
Una de las caractersticas de los programas diseados con este paradigma es que
estn compuestos bsicamente por un conjunto de objetos que interactan entre
s.

Su consistente base terica y la amplia gama de herramientas que permiten crear


cdigo a travs de diseos orientados a objetos la convierten en la alternativa ms
adecuada para el desarrollo de aplicaciones.

La POO se refiere a transformar el mundo real en cdigo


En las imgenes a continuacin vemos hay 2 objetos: un automvil y un len. Como
objetos ambos tienen rasgos que los caracterizan (Propiedades) y pueden realizar
acciones (mtodos). Una vez identificados, debemos proceder a transportar este
concepto a nuestro cdigo. Generando primeramente nuestras Clases, que nos
servirn para la creacin de nuestros objetos.

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

Qu es una Clase?
Al igual que un diseador crea prototipos de dispositivos que podran utilizarse en
repetidas ocasiones para construir los dispositivos reales, una clase es un prototipo
de software que puede utilizarse para instanciar (es decir crear) muchos objetos
iguales.
Tambin lo podemos visualizar como un molde, s, por ejemplo uno para hacer
gelatinas, con ese molde podemos hacer muchas gelatinas con la misma forma y
tamao. Pues ese molde sera nuestra clase y la instancia de una clase sera nuestro
objeto.
Sintaxis para generar una clase
Ejemplo a la derecha.
<modificador>class<nombre_clase>
{
<declaracin_atributo>
<declaracin_constructor>
<declaracin_mtodo>
}

Qu contiene una clase?


Los miembros de una clase son un conjunto de elementos que definen a los objetos
(atributos propiedades), as como los comportamientos o funciones (mtodos) que
maneja el objeto.
Entonces tenemos que una clase es la estructura de un objeto, es decir, la
definicin de todos los elementos de que est hecho un objeto.
Los atributos se declaran de la siguiente forma:
<modificador><tipo><nombre> [ = <valor_inicial>];

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

Los mtodos de una clase se declaran de la siguiente forma:


<modificador><tipo_retorno><nombre> (<argumentos>) { <sentencia> }
Ej. Declaracin de atributos (sup.) y declaracin de mtodos (inf.)

Qu es el constructor de una clase?


El constructor es un miembro que implementa las acciones requeridas para
inicializar la instancia de una clase. El constructor es invocado cuando se usa el
operador new.
El constructor es parecido a los mtodos, pero no tiene un tipo de retorno y su
nombre es el mismo que el de la clase y tambin puede o no recibir parmetro como
los mtodos. Sin embargo hay que tener mucho cuidado al nombrar los parmetros
tanto del constructor como de los mtodos para no confundirlos con las variables
propias de la clase. Por ejemplo (derecha):

Analoga de una clase y un objeto


En esta analoga quise que grficamente vieran a la clase como el molde, y una vez
que hacemos una instancia de una clase, se crea el objeto, en este caso el barrote.

Tipos de variables que puede tener una clase

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

De instancia
Son aquellas que se declaran dentro de una clase y
que no existen hasta que se hace una instancia de
esa clase (se crea un objeto)<modificador><tipo>
nombre [ = <valor_inicial>];

De clase
Estas variables se declaran anteponiendo la palabra
static a su declaracin, y a diferencia de las
variables de instancia, stas no necesitan que se
haga una instancia (que se cree un objeto), existen
desde que se crea la
clase.<modificador>static<tipo> nombre [ =
<valor_inicial>];

De referencia
Son aquellas que hace referencia a otra
clase. Esto se puede definir mejor
diciendo que es una variable del tipo de
otra clase, y cuando se haga la instancia
tendremos: un objeto dentro de otro
objeto.<modificador><Clase> nombre [ =
<instancia> ];

Una vez que tenemos definidos todos los


miembros de una clase, Cmo accedemos
a ellos? Para acceder a los miembros de
un objeto, se utiliza la notacin de pinto.
El operador punto (.) permite acceder a
los atributos y mtodos que componen los
miembros no privados de una clase.
Dentro de la definicin de los mtodos no
es necesario usar la notacin de punto
para acceder a un atributo de la propia
clase.

Modificadores de Acceso
Es la forma en cmo clasificamos nuestras propiedades o mtodos para hacerlos
visibles o invisibles a quienes usen un objeto de una clase que creamos.
Los modificadores de acceso son: Public, Private, Protected.
En seguida muestro en una tabla la visibilidad de los miembros de una clase
dependiendo del modificador de acceso que tengan.

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

Encapsulacin
Es un mecanismo que permite a los diseadores de tipos de datos determinar qu miembros
de los tipos pueden ser utilizados por otros programadores y cules no. Las principales
ventajas que ello aporta son:

Se facilita a los programadores que vaya a usar el tipo de dato (programadores


clientes) el aprendizaje de cmo trabajar con l, pues se le pueden ocultar todos los
detalles relativos a su implementacin interna y slo dejarle visibles aquellos que
puedan usar con seguridad. Adems, as se les evita que cometan errores por manipular
inadecuadamente miembros que no deberan tocar.

Se facilita al creador del tipo la posterior modificacin del mismo, pues si los
programadores clientes no pueden acceder a los miembros no visibles, sus aplicaciones
no se vern afectadas si stos cambian o se eliminan. Gracias a esto es posible crear
inicialmente tipos de datos con un diseo sencillo aunque poco eficiente, y si
posteriormente es necesario modificarlos para aumentar su eficiencia, ello puede
hacerse sin afectar al cdigo escrito.

La encapsulacin se consigue aadiendo modificadores de acceso en las definiciones


de miembros y tipos de datos. Estos modificadores son partculas que se les colocan
delante para indicar desde qu cdigos puede accederse a ellos, entendindose por
acceder el hecho de usar su nombre para cualquier cosa que no sea definirlo, como
llamarlo si es una funcin, leer o escribir su valor si es un campo, crear objetos o
heredar de l si es una clase, etc.

Ejemplo:

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

10

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

11

Qu es la Herencia?
La herencia se da cuando una clase hereda sus propiedades y mtodos a otra clase,
sta segunda se convierte en la subclase y la primera en clase superior o clase
padre. Es decir, una clase base o clase padre le hereda sus propiedades a la clase
hija o subclase.
Ejemplo:

Despus de instanciar un objeto


de tipo Empleado, como Empleado
hereda de Persona, ya podemos
hacer uso de las propiedades de la
clase Persona. Nombre completo
es una propiedad de la clase
persona que ya la podemos usar en
nuestro objeto empleado gracias
a la herencia.

Mtodo Override
Este mtodo proporciona una nueva implementacin de un miembro heredado de
una clase base. El mtodo reemplazado por una declaracin override se conoce
como mtodo base reemplazado. El mtodo base reemplazado debe tener la misma
firma que el mtodo override.

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

12

Una declaracin de propiedad de reemplazo debe especificar el mismo modificador


de acceso, tipo y nombre que la propiedad heredada.
Ejemplo sin (izquierda) y con Override (derecha):

Despus de instanciar un objeto de tipo


Empleado,

como

Empleado

hereda

de

Persona, ya podemos hacer uso de las


propiedades de la clase Persona. Nombre
completo es una propiedad de la clase
persona que ya la podemos usar en nuestro
objeto empleado gracias a la herencia.

Qu es el Polimorfismo?
En este ltimo ejemplo pudimos observar este concepto. A travs de la herencia,
una clase puede utilizarse como ms de un tipo; puede utilizarse como su propio
tipo, o como el tipo de su clase base.

En el ejemplo mencionado, tanto la clase Perro como la clase Gato, heredaban de la


calase animal y gracias a la herencia podemos hacer que Perro y Gato se comporten
como tal o como animales (clase base). Es por eso que necesitamos indicar qu
comportamiento tomarn en un caso u otro.

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

13

Si se dieron cuenta, el arreglo que declaramos fue un arreglo de Animales, en el


cual agregamos un objeto Animal, uno objeto Perro y un objeto Gato, a pesar de
ser objetos de clases diferentes, pues al final, las 3 clases son Animales.

CARACTERSTICAS DE LA POO
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, una variedad de
tcnicas son requeridas para ampliar una abstraccin.

Encapsulamiento: Significa reunir a 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.

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
especfica 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 pueden cambiar el estado interno de un objeto de maneras
inesperadas, eliminando efectos secundarios e interacciones inesperadas.

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

14

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

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.

Recoleccin de basura: la Recoleccin de basura o Garbage Collector es la


tcnica por la cual el ambiente de Objetos se encarga de destruir
automticamente, y por tanto desasignar de la memoria, 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 manualmente.

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

15

CONCLUSIN

Somos alumnos de computacin e informtica llegamos a la conclusin que este


trabajo nos sirve para estar informados de que se trata la Programacin Orientada
a Objetos (POO), Lo cual es necesario para tener base acadmica para los
siguientes temas, trabajos y practicas a realizarse en el curso y as poder debatir
e intervenir en las clases futuras.

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

16

NDICE

I.- Dedicatoria1
II. Ttulo...2
III. Introduccin.3
IV.- Objetivos.4
V.- Temas y Subtemas5
Programacin orientada a objetos (POO)
VI.- Conclusin....14
VII.- Bibliografa....15
VIII.- ndice..16
IX.- Anexo 17

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

17

BIBLIOGRAFA

http://candyluna.galeon.com/aficiones836769.html
https://www.mooc-list.com/course/programaci%C3%B3n-orientada-

objetos-edx?static=true
http://www.northware.mx/programacion_orientada_objetos/
http://www.mmdeguemes.com.ar/especializacion-tecnica-superior-

programacion-orientada-objetos-rmegc-470-11.htm
http://www.ecured.cu/Programaci%C3%B3n_Orientada_a_Objetos
http://javaenejemplos.blogspot.pe/2010/06/paradigma-de-la-

programacion-orientada_07.html
http://bandageek.com/2016/05/programacion-orientada-a-objetos/
http://mitecnologico.com/sistemas/Main/ProgramacionOrientadaAObjetos
http://programacion.net/articulo/programacion_orientada_a_objetos_279
https://www.sonicomp3.me/descargar-mp3/remix-baladas.html

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Taller de Modelamiento de Software

18

ANEXOS

Manuel Salvador Vargas Pinedo

I.E.S.T.P JOAQUN RETEGUI


MEDINA

Anda mungkin juga menyukai