introduccion proramacion

download introduccion proramacion

of 18

Transcript of introduccion proramacion

  • 7/26/2019 introduccion proramacion

    1/18

    Instituto Tecnolgico de

    Zitcuaro

    Investigacin, Unidad 1: Introduccin al paradigmade los lenguajes de programacin.

    Profesor: Jos Alfredo Jimnez eza.

    ateria: Programacin !rientada a o"jetos

    #$

  • 7/26/2019 introduccion proramacion

    2/18

    Introduccin:

    %n este %scrito, se presentan conceptos importantes & 'ue funcintienen en los lenguajes de programacin, presenta los principios"(sicos de la programacin orientada a o"jetos.

    )a programacin orientada a o"jetos, es un enfo'ue conceptualespec*fico para crear programas utilizando un lenguaje 'ue se centraen los o"jetos, cu&as propiedades m(s importantes son:

    A"straccin. %ncapsulamiento & ocultacin de o"jetos. +erencia. Polimorfismo. eusa"ilidad o eutilizacin de cdigo.

    )a programacin orientada a o"jetos, es el paradigma de programacinimperante en la actualidad & -a reemplazado las tcnicas de desarrolloestructurado vigentes.

    Java est( orientado por completo a o"jetos, & el lector de"efamiliarizarse totalmente, para -acerlo m(s productivo & aumentar surendimiento & desempeo.

    1.1 Elementos del modelo de objetos:

  • 7/26/2019 introduccion proramacion

    3/18

    )a materia de programacin orientado a o"jetos /P!!0 se "asa endividir el programa ,no en tareas, si no en modelos de o"jetos f*sicos osimulados, &a ' es a"stracta a primera vista u es m(s clara cuando se

    consideran o"jetos f*sicos en trminos de sus clases ,componentes,propiedades & comportamiento & sus o"jetos instanciados o creadosde las clases .

    Clases.

    %isten varios tipos de datos 'ue le denominan 2lases los cuales sonlos siguientes:

    %s un proceso importante 'ue se produjo cuando se comenz acom"inar juntos diferentes elementos de datos & por lo siguiente,encapsular o empa'uetar, diferentes propiedades en un tipo de datos.

    3a 'ue el cual las estructuras representan un modo de a"straccin conlos programas, concretamente, la com"inacin, de partes diferentes oelementos.

    Una clase as un prototipo 'ue se usa para definir las caracter*sticas &los comportamientos 'ue son comunes a todos los o"jetos de unmismo tipo.

    )as varia"les se usan para representar las caracter*sticas de loso"jetos & los mtodos se usan para representar el comportamientode los o"jetos. 4e puede declarar una varia"le especificando su tipode datos & el nom"re de la varia"le.

    4imilarmente, se puede declarar o"jetos especificando lo siguiente:

    5ipo /nom"re de clase0.

    $om"re de !"jeto.

    int a6

    2omputador

  • 7/26/2019 introduccion proramacion

    4/18

    como6

    Por ejemplo la estructura de un coc-e consta de miem"ros tales comomarca, ero de matr*cula, ao de fa"ricacin, etc.

    3a 'ue las estructuras & registros se pueden almacenar laspropiedades individuales de los o"jetos de los miem"ros, en la pr(cticaen los ' est(n organizados, no se pueden representar 'ue se va -acercon ellos /moverse, acelerar, frenar, etc. en el caso de un coc-e7carro0.)o cual ocupa de interfaz de un o"jeto ' se incorporen tam"inal o"jeto.

    4e define una clase en Java usando la pala"ra reservada class. )asintais es la siguiente:

    class $om"re2lase 8

    77 varia"les miem"ro

    77 funciones miem"ro

    9

    2onsidere la clase 2omputador, 'ue tiene los atri"utos 2PU, monitor,teclado & mouse. 4e pueden crear dos instancias de la clase

    2omputador 'ue tengan diferentes valores para estos atri"utos.%stas dos instancias est(n representadas por comp1 & comp#.

    )os o"jetos en Java se crean usando la

    pala"ra clave ne. )a sintais es la siguiente:

    $om"re2lase o"jeto ; ne $om"re2lase/06

    )os constructores en Java tienen la misma funcionalidad 'ue en 208

    77 %l cdigo principal va a'u*9

    )a funcin main/0 en Java no puede ser glo"al, como en 2 o 2

  • 7/26/2019 introduccion proramacion

    6/18

    Instancias.

    2uando una clase descri"e un o"jetos, en la pr(ctica mBltiples o"jetos.%n conceptos de programacin, una clase es, realmente, un tipo de

    dato, & se puede crear, en consecuencia, varia"les, de este tipo. %nprogramacin orientada a o"jetos, a estas varia"les, se le denominaInstancias /CinstancesD0, & tam"in por sus sinnimos ejemplares,casos, etc. la cual es la implementacin de los o"jetos descritos de unaclase. %stas instancias constan de los datos o atri"utos descritos en laclase & se pueden manipular con las operaciones definidas en la propiaclase.

    Mtodos.

    5odas las operaciones definidas para los o"jetos se denominanmtodos .cuando se llama la operacin CconducirD para un o"jeto autoen realidad lo 'ue -ace es enviar el mensaje CconducirD al o"jeto auto,'ue se procesa /ejecuta0, a continuacin el mtodo correspondiente.

    !bjetos.

    Una forma de reducir la complejidad, es como se ver( m(s enprofundidad en los siguientes apartados & cap*tulos, la a"straccin. )ascaracter*sticas & procesos de cual'uier sistema se resumen enaspectos esenciales & los m(s relevantes6 de este modo, lascaracter*sticas complejas del sistema se vuelven m(s maneja"les.

    %l o"jeto es el centro de la programacin orientada a o"jetos. Un o"jeto

    lo cual es algo ' se visualiza, se utiliza & 'ue juega un papel o un rol.)o cual trata de descu"rir e implementar los o"jetos 'ue -a& en un rolen el dominio del pro"lema &a 'ue la estructura interna & elcomportamiento del o"jeto, en consecuencia, no es prioritario duranteel modelado del pro"lema.

  • 7/26/2019 introduccion proramacion

    7/18

    5am"in un o"jeto no tiene 'ue ser algo concreto o tangi"le. Puede sertotalmente tam"in descri"ir un proceso descri"ir un proceso. )asclases con atri"utos & funcin miem"ro permiten gestionar los o"jetosdentro de los programas.

    Abstraccin.

    %s la propiedad 'ue considera los aspectos m(s significativos onota"les de un pro"lema & epresa una solucin en esos trminos.

    )a a"straccin es la etapa crucial de la representacin de lainformacin en trminos de la interfaz del usuario .epresenta un tipodefinido por el usuario, el cual com"ina la representacin de datos &mtodos manipular esos datos por ese pa'uete.

    3a 'ue el cual posee diversos grados denominados niveles dea"straccin 'ue a&udan estructurar la complejidad intr*nseca 'ueposeen los sistemas del mundo real.

    Modaduralidad.

    Un o"jeto en softare es una identidad individual de un sistema 'ueguarda la relacin directa con los o"jetos del mundo real. )acorrespondencia entre o"jetos de programacin & o"jetos del mundoreal es el resultado pr(ctico de com"inar atri"utos & operaciones, odatos & funciones. Un o"jeto tiene un estado, un comportamiento & unaidentidad. 3 el cual se divide en lo siguiente:

    Estado

    %s un conjunto de valores de todos los atri"utos de un o"jeto en un

    instante de tiempo determinado. %l estado de un o"jeto vienedeterminado por los valores ' toman sus datos o atri"utos, lo cual estosvalores de"en de cumplir siempre las restricciones 'ue se -a&animpuesto. )o cual el estado din(mico va evolucionando a travs con el

  • 7/26/2019 introduccion proramacion

    8/18

    tiempo con independencia de 'ue ciertos elementos del o"jeto puedenpermanecer constantes.

    Com"ortamiento.

    %s un conjunto de operaciones 'ue se pueden realizar so"re un o"jeto&a 'ue las operaciones pueden ser la o"servacin del estado internodel o"jeto, o "ien modificacin de dic-o estado. 3a 'ue el o"jeto puedeevolucionar en funcin de las aplicaciones de sus operaciones lo cualse realizan tras la recepcin de un mensaje o estimulo eterno enviadopor otro o"jeto.

    3a 'ue las interaccin de o"jetos se representa mediante diagramas deo"jetos.

    Identidad

    Permite diferenciar los o"jetos de modo am"iguo independiente de suestado. )os cual se puede distinguir dos o"jetos en cuales todos susatri"utos sean iguales. 2ada o"jeto se posee su propia identidad demanera impl*cita. 2ada o"jeto ocupa su propia posicin en la memoriade la computadora.

    %jemplo

    #E$S!%AS

    %studiantes, empleados, clientes, profesores.

    #artes de un carro:

    )lantas, motor, Eater*a, 2apo, transmisin.

    Enca"sulamiento.

    %s reunir cierta estructura a todos los elementos 'ue a cierto nivel dea"straccin se pueden considerar pertenecientes a una mismaidentidad, & es el proceso de agrupamiento de datos & operaciones

  • 7/26/2019 introduccion proramacion

    9/18

    relacionadas "ajo la misma unidad de programacin, lo 'ue permite deaumentar la co-esin de los componentes del sistema. 3a 'ue loso"jetos contienen las mismas caracter*sticas & comportamiento se

    agrupan en clases 'ue son m(s 'ue unidades de programacin 'ueencapsulan datos & operaciones.

    )a encapsulacin oculta lo ' -ace un o"jeto de lo 'ue -acen otroso"jetos & del mundo eterior por lo ' se denomina tam"in ocultacinde datos.

    )a capacidad de presentacin de informacin dentro de un o"jeto se

    divide en dos partes "ien diferenciadas: Interna: la informacin 'ue necesita el o"jeto para operar & 'ue

    es innecesaria para los dem(s o"jetos de la aplicacin. %stosatri"utos se denominan privados & tienen como marco deaplicacin Bnicamente a las operaciones asociadas al o"jeto.

    E&terna )a 'ue necesitan el resto de los o"jetos parainteractuar con el o"jeto 'ue definimos. %stas propiedades sedenominan pB"licas & corresponde a la informacin 'uenecesitan conocer los restantes o"jetos de la aplicacinrespecto del o"jeto definido para poder operar.

    4e puede imaginar la encapsulacin como introducir el o"jeto dentrode una caja negra donde eisten dos ranuras denominadas entrada &salida. 4i se introducen datos por la entrada autom(ticamenteo"tendr( un resultado en la salida. $o necesita conocer ningBndetalle del funcionamiento interno de la caja.

    %l trmino encapsulacin indica la capacidad 'ue tienen los o"jetosde construir una c(psula a su alrededor, ocultando la informacin 'uecontienen /a'uella 'ue es necesaria para su funcionamiento interno,pero innecesaria para los dem(s o"jetos0 a las otras clases 'uecomponen la aplicacin.

  • 7/26/2019 introduccion proramacion

    10/18

    'erencia.

    %n la vida diaria se utiliza el concepto C-erencia /clase0Dde clases 'ue

    se dividen en su"clases. )a clase CanimalD se divide en mam*feros,anfi"ios, insectos, p(jaros, etc.

    )a idea principal de estos tipos de divisiones reside el -ec-o de cadasu"clase comparte las caracter*sticas con la cual cada clase se deriva& cada su"clase tiene sus propias caracter*sticas.

    )a clase principal de las 'ue derivan las restantes se le denomina2lase Ease & las su"clases se denominan 2lases erivadas.

    )a -erencia modela el -ec-o de 'ue estos o"jetos tienden aorganizarse en jerar'u*as.

    %sta jerar'u*a desde el punto de vista modelado se le denominarelacin de generalizacin.

    2ada clase -ereda las caracter*sticas de la clase "ase & adem(s decada clase deriva aade sus propias caracter*sticas /atri"utos &operaciones0.las clases "ases pueden ser a su vez su"clases o clasesderivadas de otras superclases o clase "ase.

    %jemplo de -erencia.

  • 7/26/2019 introduccion proramacion

    11/18

    #olimor(ismo.

    %s la propiedad 'ue permite a una operacin tener el mismo nom"reen clases diferentes en cada una de ellas & 'ue actu de diferentes

    acciones dependiendo del o"jeto so"re del 'ue se apli'ue.

    3a 'ue en la practica el polimorfismo significa la capacidad de unaoperacin de ser interpretada solo por propio o"jeto 'ue lo invoca.esde un punto de vista pr(ctico de ejecucin del programa, el cual serealiza el tiempo de ejecucin &a 'ue durante las compilaciones no seconoce el tipo de o"jeto & por siguiente ' operacin -a sido innovada.

    %s la esencia, de a'uella en 'ue una operacin tiene el mismo nom"repero diferentes clases, pero se ejecuta de diferentes formas en cadaclase. 3a 'ue es importantes tanto en el modelado de sistemas comoel desarrollo del softare. %n el modelado por'ue el uso de pala"rasiguales tiene comportamientos distintos, segBn el pro"lema a resolver.

    4e pueden tener muc-as situaciones cuando se 'uieren -acer variasoperaciones similares unas con otras dependiendo de la entrada 'uese o"tenga. %sto se denomina polimorfismo, formado de dos ra*cesgriegas, Fpol&G & Fmorp-usG. )a pala"ra Fpol&G significa muc-os &Hmorp-usH significa formas.

    %n programacin orientada a o"jetos, polimorfismo significa una solainterfaz & mBltiples implementaciones. %n otras pala"ras, los nom"resde mtodos son los mismos, pero tienen diferentes implementaciones"asadas en los par(metros 'ue le son pasados, o en los o"jetos so"relos cuales son invocados.

    4uponga 'ue se desea implementar a la clase am*feros, supongatam"in 'ue uno de los mtodos 'ue se desea implementar para estaclase, es el 'ue permita a tales mam*feros desplazarse de formanatural, a este mtodo se le llamar( desplazar/0. 4e encontrar(entonces con'ue para algunos mam*feros el desplazamiento se

  • 7/26/2019 introduccion proramacion

    12/18

    realizar( por medio de caminar, como es en el caso de las personas,para otros el desplazamiento natural ser( nadar, como en el caso delos delfines e inclusive para otros, el desplazamiento se lograr( pormedio de volar, como sucede con los murcilagos. 4e usa el mismo

    nom"re del mtodo para invocar sus diferentes implementaciones.

    1.# )enguaje de odelado Unificado:

    )iagrama de Clases

    Modelado *isual

    5al como indica su nom"re, U) es un lenguaje de modelado.Un modelo es una simplificacin de la realidad. %l o"jetivo delmodelado de un sistema es capturar las partes esenciales delsistema. Para facilitar este modelado, se realiza una a"straccin& se plasma en una notacin gr(fica. %sto se conoce comomodelado visual.

    uc-as de las metodolog*as de an(lisis & diseo de aplicacionesorientadas a o"jetos utilizan el lenguaje U) como lenguaje demodelado.

    %l )enguaje de odelado Unificado /U) @ Unified odeling)anguage0 es un lenguaje 'ue permite modelar, construir &documentar los elementos 'ue forman un producto de softare 'ueresponde a un enfo'ue orientado a o"jetos. %ste lenguaje fue creado

    por un grupo de estudiosos de la Ingenier*a de 4oftare formado por:Ivar Jaco"son, rad& Eooc- & James um"aug- en el ao 1K.esde entonces, se -a convertido en el est(ndar internacional paradefinir organizar & visualizar los elementos 'ue configuran laar'uitectura de una aplicacin orientada a o"jetos. 2on este lenguaje,se pretende unificar las eperiencias acumuladas so"re tcnicas de

  • 7/26/2019 introduccion proramacion

    13/18

    modelado e incorporar las mejores pr(cticas actuales en unacercamiento est(ndar.

    U) no es un lenguaje de programacin sino un lenguaje de propsitogeneral para el modelado orientado a o"jetos & tam"in puedeconsiderarse como un lenguaje de modelado visual 'ue permite unaa"straccin del sistema & sus componentes.

    %ntre sus o"jetivos fundamentales se encuentran:

    1. 4er tan simple como sea posi"le, pero manteniendo lacapacidad de modelar toda la gama de sistemas 'ue se necesitaconstruir.

    #. $ecesita ser lo suficientemente epresivo para manejar todos losconceptos 'ue se originan en un sistema moderno, tales como laconcurrencia & distri"ucin, as* como tam"in los mecanismos de laingenier*a de softare, como son el encapsulamiento & loscomponentes.

    L. e"e ser un lenguaje universal, como cual'uier lenguaje depropsito general.

    M. Imponer un est(ndar mundial.

    Un modelo U) est( compuesto por tres clases de "lo'ues deconstruccin:

    %lementos: )os elementos son a"stracciones de cosas reales oficticias /o"jetos, acciones, etc.0

    elaciones: relacionan los elementos entre s*. iagramas: 4on colecciones de elementos con sus relaciones.

  • 7/26/2019 introduccion proramacion

    14/18

  • 7/26/2019 introduccion proramacion

    15/18

    los ta'uilleros & los jefes de ta'uilla0 & las operaciones 'ue puedenrealizar /sus roles0.

    %l diagrama de clases muestra un conjunto de clases, interfaces & susrelaciones. Nste es el diagrama m(s comBn a la -ora de descri"ir eldiseo de los sistemas orientados a o"jetos. %n la figura M semuestran las clases glo"ales, sus atri"utos & las relaciones de unaposi"le solucin al pro"lema de la venta de entradas.

    %n el diagrama de secuencia se muestra la interaccin de los o"jetos'ue componen un sistema de forma temporal.

    %l resto de diagramas muestran distintos aspectos del sistema amodelar. Para modelar el comportamiento din(mico del sistema est(nlos de interaccin, cola"oracin, estados & actividades. )os diagramasde componentes & despliegue est(n enfocados a la implementacindel sistema.

  • 7/26/2019 introduccion proramacion

    16/18

    %jemplo de iagrama de casos de uso

  • 7/26/2019 introduccion proramacion

    17/18

    %jemplo de iagrama de clases.

  • 7/26/2019 introduccion proramacion

    18/18

    Ei"liograf*a.

    Libro 1: Core ,a-a

    IE 5raining

    Oorldide 2ertified aterial

    )i"ro: undamentos de programacinAutor: )uis Jo&anes Aguilar%ditorial: c ra +ill

    U)%l lenguaje unificado de modelado

    rad& "ooc-, Jim um"aug- e Ivar Jaco"son.