06_Introduccion a La POO

download 06_Introduccion a La POO

of 14

Transcript of 06_Introduccion a La POO

  • 7/25/2019 06_Introduccion a La POO

    1/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    Introduccin a la Programacin Orientada a Objetos.

    INDICE

    1. Introduccin ............................................................................................................................................................ 12. Clases ...................................................................................................................................................................... 2

    3. Instancias u Objetos ................................................................................................................................................ 34. Mensajes ................................................................................................................................................................. 3

    5. Relacin entre clases y objetos ............................................................................................................................... 4

    Herencia.................................................................................................................................................4

    Agregacin.............................................................................................................................................5

    Asociacin..............................................................................................................................................5

    Instanciacin.......................................................................................................................................... 5. Conce!tos y "erra#ientas de An$lisis y %ise&o orientado a objetos. ....................................................................

    %iagra#a de Objetos y diagra#a de Clases.......................................................................................... '. Crear o de(inir una clase en )isual *asic.+et. ...................................................................................................... ,

    %e(inir los #ie#bros de una clase.........................................................................................................,

    Crear un objeto a !artir de una clase......................................................................................................,

    Acceder a los #ie#bros de una clase.................................................................................................. 1-

    je#!lo de c#o usar la "erencia....................................................................................................... 1-

    Resu#iendo..........................................................................................................................................13/. jercicios. .............................................................................................................................................................. 14

    1. Introduccin

    0n !rogra#a orientado a objetos est$ co#!uesto de arios objetos ue !resentan una serie de

    !ro!iedades y unas cuantas o!eraciones ue saben c#o realiar. sta idea !arte de lo ue ocurre en el

    #undo real en el cual #lti!les entidades dese#!e&an su labor en (uncin de los est6#ulos ue reciben deotras entidades y de los estados ue llegan a alcanar en cada #o#ento.

    Objeto = Estado + Comportamiento

    7a clae de todo est$ en ue cada objeto conoce bien su contenido8 una e construido un objeto

    ue satis(aga nuestros reuisitos dejare#os de !reocu!arnos de c#o dic"o objeto "ace las cosas !ara

    !asar a integrarlo donde nos "aga (alta. sto introduce dos conce!tos b$sicos relatios a la !rogra#acin

    orientada a objetos9:OO;8 encapsulacin y reusabilidad.

    7a encapsulacinconsiste en co#binar los datos y el co#!orta#iento de los objetos ocultando losdetalles de su i#!le#entacin. sto uiere decir ue la (or#a en ue un objeto dese#!e&e una tarea slo

    concierne a dic"o objeto !ero en ningn caso a otros objetos ue ayan a "acer uso de este. 7oerdadera#ente i#!ortante es ue el objeto o(reca una i#agen robusta al e@ !orue lo ue a!rende#os es c#o "acer ue ese coc"e realice su (uncin8 !ara ueacelere !isa#os el !edal del acelerador= !ara ue (rene el !edal del (reno y no nos i#!orta si acelera con

    Dpto. Informtica. 1

  • 7/25/2019 06_Introduccion a La POO

    2/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    #$s o #enos $lulas o ue el (reno sea de disco o de ta#bor. As6 si !asa#os de tener un eiscientos a un*MB no tendre#os ue a!render a conducir de nueo. :or otra !arte a nosotros no nos i#!orta c#o

    acelere el coc"e #ientras ue cuando acelere#os obtenga#os la res!uesta es!erada.

    Otra de las raones !ara de(ender la enca!sulacin est$ en el "ec"o de ue a tra>s de ella es #$s

    ($cil controlar los errores !ues nadie #ejor ue el objeto ue guarda los datos !odr$ saber si e

  • 7/25/2019 06_Introduccion a La POO

    3/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    j8 Re!resentacin gr$(ica de la clase Coche.

    COCH

    +#ero de

    !uertas

    ColorFec"a de

    #atriculacin

    Matr6cula

    Acelerar

    Frenar:intar

    %ar n#ero de

    !uertas

    7os #>todos y atributos de una clase !ueden tener distinto grado de isibilidad8

    :riado8 cuando dic"os #>todos slo !ueden ser inocados desde la #is#a clase.

    :ublico8 cuando dic"os #>todos se !ueden inocar desde cualuiera de las clases del #odelo.

    :rotegido8 cuando dic"os #>todos slo se !ueden inocar desde la #is#a clase y sus subclases.

    3. Instancias u Objetos

    Resultan de concretar el alor de las !ro!iedades ue se de(inen en una clase. on instancias de

    una clase. As6 tendre#os ue G!ara la !ro!iedad colorD G dire#os #i coc"e es rojoD y tu coc"e es grisD.

    #icoc"e 8 COCH

    +#ero de !uertas 3

    Color rojoFec"a de #atriculacin

    1,J-5J2---Matr6cula 1234 *KHD

    Acelerar

    Frenar

    %ar n#ero de !uertas

    Estado de un objeto !ode#os !ensar en >l co#o una (otogra(6a del objeto en un instante de

    tie#!o deter#inado en el cual los atributos del objeto tendr$n un alor concreto. l estado de un objeto!uede a(ectar a su co#!orta#iento. :or eje#!lo si un !edido est$ !agado no uerr$ ace!tar nueos

    art6culos y si de #o#ento es ac6o no debe !er#itir ue le borren art6culos !ues no los tiene.

    4. Mensajes

    %e(ini#os un #ensaje co#o una !eticin eniada a un objeto !ara ue actie un #>todo 9lla#ada al

    #>todo de un objeto desde otro objeto;. 7os #ensajes constan de tres co#!onentes8

    Objeto al que se dirige.

    Mtodo que se invoca entre los ue !ertenecen al objeto ue recibe el #ensaje. l #>todo !uede ser!ro!io de la clase a la ue !ertenece el objeto o "eredado de una de sus su!erclases 9clases !adre de la

    actual;.

    Arguentos o!cionales que deben !asarse al todo.

    7os #>todos son euialentes a las lla#adas a (unciones de la !rogra#acin estructurada. Al a!arecer enlos #>todos el no#bre del objeto ue lo recibe se "acen !osibles las siguientes caracter6sticas b$sicas de la

    :OO8

    Dpto. Informtica. 3

  • 7/25/2019 06_Introduccion a La POO

    4/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    l enca!sula#iento !ues el #>todo seleccionado !ertenece al objeto ue recibe el #ensaje y elobjeto ue lla#a slo conoce el no#bre del #>todo y con u> !ar$#etros debe lla#arle.

    l !oli#or(is#o !ues #>todos distintos asociados a objetos distintos !ueden tener el #is#ono#bre 9se distinguen !or el no#bre del objeto ue los recibe;.

    7a "erencia !ues el #>todo asociado a un objeto no tiene !or u> !ertenecer a >ste en etodo oler. A"ora bien si un !erro "uele co#ida se !ondr$ contento y si "uele un gatoladrar$. :ara resoler este !roble#a recurri#os al !oli#or(is#o.

    j8 class :erro L!ublic oid oler 9 Co#ida obj; L

    !rint(9nNMe gusta la co#idanD;=P

    !ublic oid oler 9 Kato obj; L

    !rint(9nNOdio a los gatossnD;=

    PP

    ". #elacin entre clases $ objetos

    todos ue (ueran co#unes a a#bos. As6 co#o los atributos edady nombrelos tendr$n

    a#bas clases lo correcto ser6a de(inirlos en la clasepersonay ue de ella "eredaranprofesory alumno. ine#bargo los #>todos !ara asignar una tutoraa un !ro(esor osancionara un alu#no son es!ec6(icos de

    estas clases !or lo ue no son "eredados depersona.

    7a "erencia !uede ser simple9co#o en el eje#!lo anterior; cuando una clase "ereda caracter6sticas de otra

    o mltiple cuando una clase "ereda caracter6sticas de #$s de una. :or eje#!lo si dese$ra#os de(inir lascaracter6sticas de un e"6culo an(ibio se !odr6an a!roec"ar las caracter6sticas de los e"6culos terrestres

    automvily las de los e"6culos acu$ticosbarco!ara obtener la clase anfibio.

    Dpto. Informtica. 4

  • 7/25/2019 06_Introduccion a La POO

    5/14

    vehculo

    barcoautomvil

    anfibiocamin

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    7a jeraru6a de clases ser6a8

    gregacin

    s una relacin entre objetos !or la cual uno de ellos tiene de(inido entre sus atributos a una instancia de laclase del otro. 7a agregacin i#!lica !osesin es una relacin del ti!o forma parte deD o est!

    compuesto porD. F6sica#ente la agregacin su!one la desa!aricin del objeto agregado cuando el objeto

    agregante deja de e

  • 7/25/2019 06_Introduccion a La POO

    6/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    %. Conce!tos $ &erraientas de An'lisis $ (ise)o orientado a objetos.

    0M7 es una notacinest$ndar !ara desarrollo de siste#as usando el en(oue orientado a objeto. 0M7

    co#en en 1,,4 co#o un es(uero de Krady *ooc" y Sa#es Ru#baug" !ara co#binar sus #etodolog6asde(iniendo una notacin est$ndar !ara ellas. %es!u>s en 1,,5 Iar Sacobson 9t>cnica OO incluyendo

    Casos de 0so; se uni al eui!o. :aralela#ente a este es(uero el Object Manage#ent Krou!

    9EEE.o#g.org; "io una lla#ada !ara !ro!uestas de notacin y #eta#odelo orientado a objetos. n

    enero de 1,,' 0M7 (ue entregado.

    0M7 es slo una notacin no dicta est$ndares !ara el !roceso de desarrollo. in e#bargo 0M7

    condiciona dic"o !roceso de desarrollo al establecer los diagra#as e in(or#acin asociada ue debe

    re!resentarse. 7os diagra#as incluidos en 0M7 agru!ados segn su $#bito de a!licacin son8

    Anlisis en el contexto organizacional: %iagra#as de Casos de 0so

    Anlisis y diseo desde la perspectiva esttica %iagra#a de Clase

    %iagra#a de Objetos

    Anlisis y diseo desde la perspectiva dinmica %iagra#a de ecuencia

    %iagra#a de Colaboracin

    %iagra#a de stados

    Implementacin %iagra#a de Co#!onentes.

    %iagra#a de %es!liegue.

    todos.

    l trabajo realiado en los diagra#as de Casos de 0so diagra#as de ecuencia y diagra#as de

    Colaboracin deber6a a!ortar in(or#acin !ara la deter#inacin de las clases objetos atributos y

    #>todos. l diagra#a de Clases es la es!eci(icacin de reuisitos en su as!ecto est$tico.

    7a notacin de a#bos ti!os de diagra#as objetos y clases es si#ilar. 7a di(erencia es el niel de

    abstraccin en el cual se trabaja. +or#al#ente al !rinci!io del desarrollo cuando an no est$ decididou> ele#entos llegar$n a ser clases objetos o datos ele#entales se !uede #odelar dic"os ele#entos

    co#o objetos. in e#bargo cuando se establece la solucin todos los ele#entos est$n clara#ente

    di(erenciados y re!resentados en diagra#as de clases 9ue ta#bi>n !odr6an incluir re!resentaciones !ara

    objetos cuando slo una instancia !artici!a en el siste#a;.

    Dpto. Informtica. 6

  • 7/25/2019 06_Introduccion a La POO

    7/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    Rational Rose !ro!orciona slo un ti!o de diagra#a deno#inado Class

    iagram. 7a !oolbo" asociada se #uestra en la (igura de la derec"a. e

    actia !ulsando en .

    :ara agregar atributos a la clase se !ulsa con el botn derec"o sobre la clase y #e$ %ttribute&

    :ara agregar #>todos a la clase se !ulsa con el botn derec"o sobre la clase y #e$ 'peration&

    7a siguiente (igura !resenta un diagra#a de Clases !ara un siste#a de 76neas a>reas.

    Clases

    0na clase se re!resenta co#o un rect$ngulo con tres co#!arti#entos se!arados !or l6neas "oriontales8

    en el su!erior se #uestra el no#bre de la clase en el siguiente se !resenta la lista de atributos de la clase

    a continuacin se #uestran los #>todos. Cada atributo o #>todo de una clase es antecedido !or un

    indicador de isibilidad 9!riada !ublica !rotegida;.

    sociaciones

    on relaciones bidireccionales entre instancias de clases. n una asociacin una instancia de una clase

    !uede estar relacionada con un n#ero #6ni#o y #$

  • 7/25/2019 06_Introduccion a La POO

    8/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    0no y slo uno8 1

    Cero o uno8 -..1

    0no o #$s8 1..T

    Cero o #$s8 -..T

    ntre + y M 8 +..M donde + y M son n#eros naturales y M

    +.

    :ara dibujarlas en el diagra#a se !ulsa con el botn derec"o sobre la asociacin en el lado del cual se

    uiera !oner la cardinalidad y en el #en e#ergente sobre(ultiplicity. e "a de re!etir la o!eracin en

    cada lado de la asociacin. :ara uitar el sentido de la (lec"a de la asociacin se !ulsa con el botn

    derec"o y se des"abilita la o!cin#avigable.

    gregaciones7as agregaciones ta#bi>n se !ueden re!resentar #edianteRational Rose. 0n eje#!lo ser6a la asociacin

    entre Ain y Motor. e entiende ue !ara el diagra#a ue se "a "ec"o solo interesa guardar in(or#acin

    de los #otores de aiones ue tenga#os en actio. Cuando eli#ine#os un ain ta#bi>n se deber$

    borrar toda la in(or#acin relatia a sus #otores.

    "enerali#acin

    7a generaliacin es un o!erador entre clases ue !er#ite re!resentar la "erencia. 7as subclases est$n

    conectadas a las su!erclases #ediante el s6#bolo "ereda desdeD. 7a siguiente (igura #uestra un eje#!lo

    de una jeraru6a de generaliacin. n dic"a (igura #!leado es una generaliacin de Ad#inistratio

    jecutio y O!erario !or tanto las subclases "eredan las !ro!iedades de la su!erclase #!leado.

    Cada jeraru6a o cada cone

  • 7/25/2019 06_Introduccion a La POO

    9/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    7. Crear o deinir !na clase en "is!al #asic.Net. $

    Al igual ue e entre Class Uno#bre y nd Class ser$ la de(inicin de dic"a clase.

    Definir los miembros de una clase

    :ara de(inir los #ie#bros de una clase escribire#os dentro del VbloueV de de(inicin de la clase las

    declaraciones y !rocedi#ientos ue crea#os conenientes.

    )ea#os un eje#!lo8

    ClassCliente

    PublicNombre AsString

    SubMostrar() Msgbox("El nombre del cliente: {0}" Nombre)

    EndSub

    EndClass

    n este caso la l6nea :ublic +o#bre As tring estar6a de(iniendo una !ro!iedad o Vca#!oV !blico de la

    clase Cliente.

    :or otro lado el !rocedi#iento Mostrar ser6a un #>todo de dic"a clase en esta caso nos !er#itir6a

    #ostrar la in(or#acin contenida en la clase Cliente.

    sta es la (or#a #$s si#!le de de(inir una clase. W nor#al#ente lo "are#os sie#!re as6 !or tanto

    !ode#os co#!robar ue es #uy ($cil de(inir una clase as6 co#o los #ie#bros de dic"a clase.

    :ero no slo de clases ie el )isual *asic... o lo ue es lo #is#o ?!ara ue nos sire una clase si no

    sabe#os crear un objeto basado en esa clase...@ As6 ue se!a#os c#o crearlos.

    Crear un objeto a partir de una clase

    Co#o te "e co#entado antes las clases de(inen las caracter6sticas y la (or#a de acceder a los datos ue

    contendr$ !ero slo eso8 los de(ine.

    :ara ue !oda#os asignar in(or#acin a una clase y !oder usar los #>todos de la #is#a tene#os ue

    crear un objeto basado en esa clase o lo ue es lo #is#o8 tene#os ue crear una nuea instancia en la

    #e#oria de dic"a clase.1A!artado ada!atado de los te#as !re!arados !or Kuiller#o o# Cereo.

    Dpto. Informtica. 9

  • 7/25/2019 06_Introduccion a La POO

    10/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    :ara ello "are#os lo siguiente8

    %e(ini#os una ariable ca!a de contener un objeto del ti!o de la clase esto lo "are#os co#o con

    cualuier ariable8

    !imcli AsCliente

    :ero a di(erencia de las ariables basadas en los ti!os isto "asta a"ora !ara !oder crear un objeto

    basado en una clase necesita#os algo #$s de cdigo ue nos !er#ita VcrearV ese objeto en la #e#oria

    ya ue con el cdigo usado en la l6nea anterior si#!le#ente estar6a#os de(iniendo una ariable ue es

    ca!a de contener un objeto de ese ti!o !ero an no etodo Mostrar8

    cli$Mostrar()

    :ues as6 es todo lo de#$s en .+X Fra#eEorY as6 ue... ?!ara ue seguir e

    *ueno ale... seguire#os iendo #$s cosas...

    s!ero ue con lo dic"o y lo ue ya llea#os isto "asta a"ora tengas claro ue son las !ro!iedades y los

    #>todos y si an tienes dudas no te !reocu!es ya ue a"ondare#os #$s en estos conce!tos y sobre todo

    los utiliare#os "asta la saciedad con lo cual !uedes tener la tranuilidad de ue acabar$s enter$ndote al

    1--Z de ue a todo esto...

    A !esar de ue an no est>s !lena#ente in(or#ado de todo a#os a er un !ar de eje#!los de c#o usar

    las caracter6sticas de la !rogra#acin orientada a objetos des!u>s en !r

  • 7/25/2019 06_Introduccion a La POO

    11/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    Ejemplo de cmo usar la herencia

    :ara !oder usar la "erencia en nuestras clases debe#os indicar al )isual *asic ue esa es nuestra

    intencin !ara ello dis!one#os de la instruccin In"erits la cual se usa seguida del no#bre de la clase de

    la ue uere#os "eredar.

    )ea#os un eje#!lo.

    #!eare#os de(iniendo una clase VbaseV la cual ser$ la ue "eredare#os en otra clase.

    Wa sabe#os c#o de(inir una clase aunue !ara este eje#!lo usare#os la clase Cliente ue i#os

    anterior#ente des!u>s creare#os otra lla#ada ClienteMoroso la cual "eredar$todas las caracter6sticasde la clase Cliente ade#$s de a&adirle una !ro!iedad a esa clase deriada de Cliente.

    )ea#os el cdigo de estas dos clases.

    :ara ello crea un nueo !royecto del ti!o consola y escribe estas l6neas al !rinci!io o al (inal del (ic"ero

    ue el I% a&ade de (or#a !redeter#inada.

    ClassCliente

    PublicNombre AsString

    SubMostrar()

    Console$&rite'ine("El nombre del cliente: {0}" Nombre)

    EndSub

    EndClass

    ClassClienteMoroso

    neritsCliente

    Public!euda As!ecimal

    EndClass

    Co#o !uedes co#!robar !ara ue la clase ClienteMoroso "erede la clase Cliente "e usado In"erits

    Cliente con esta l6nea 9la cual deber6a ser la !ri#era l6nea de cdigo des!u>s de la declaracin de laclase; le esta#os indicando al )* ue nuestra intencin es !oder tener todas las caracter6sticas ue la

    clase Cliente tiene.

    Haciendo esto a&adire#os a la clase ClienteMoroso la !ro!iedad +o#bre y el #>todo Mostrar aunue

    ta#bi>n tendre#os la nuea !ro!iedad ue "e#os a&adido8 %euda.

    A"ora a#os a er c#o !ode#os usar estas clases !ara ello a#os a a&adir cdigo en el !rocedi#iento

    Main del #dulo del !royecto8

    ModuleModule*

    SubMain()

    !imcli AsNe#Cliente()

    !imcliM AsNe#ClienteMoroso()

    +

    cli$Nombre "%uille"

    cliM$Nombre "Pe,e"

    cliM$!euda -000

    +

    Console$&rite'ine(".sando Mostrar de la clase Cliente")

    cli$Mostrar()

    +

    Console$&rite'ine(".sando Mostrar de la clase

    ClienteMoroso")

    cliM$Mostrar()

    +

    Dpto. Informtica. 11

  • 7/25/2019 06_Introduccion a La POO

    12/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    Console$&rite'ine("'a deuda del moroso es: {0}"

    cliM$!euda)

    +

    Console$/ead'ine()

    EndSub

    EndModule

    7o ue "e#os "ec"o es crear un objeto basado en la clase Cliente y otro basado en ClienteMoroso.

    7e asigna#os el no#bre a a#bos objetos y a la ariable cliM 9la del ClienteMoroso; le asigna#os un

    alor a la !ro!iedad %euda.

    F6jate ue en la clase ClienteMoroso no "e#os de(inido ninguna !ro!iedad lla#ada +o#bre !ero esto es

    lo ue nos !er#ite "acer la "erencia8 "eredar las !ro!iedades y #>todos de la clase base. :or tanto

    !ode#os usar esa !ro!iedad co#o si la "ubi>se#os de(inido en esa clase. 7o #is#o ocurre con los

    #>todos el #>todo Mostrar no est$ de(inido en la clase ClienteMoroso !ero si ue lo est$ en la clase

    Cliente y co#o resulta ue ClienteMoroso "ereda todos los #ie#bros de la clase Cliente ta#bi>n "eredaese #>todo.

    7a salida de este !rogra#a ser6a la siguiente8

    .sando Mostrar de la clase Cliente

    El nombre del cliente: %uille

    .sando Mostrar de la clase ClienteMoroso

    El nombre del cliente: Pe,e

    'a deuda del moroso es: -000

    Co#o !uedes er no es tan co#!licado esto de la "erencia...

    A"ora ea#os c#o !odr6a#os "acer uso del !oli#or(is#o o al #enos una de las (or#as ue nos !er#ite

    el .+X Fra#eEorY.

    Xeniendo ese #is#o cdigo ue de(ine las dos clases !odr6a#os "acer lo siguiente8 SubMain()

    !imcli AsCliente

    !imcliM AsNe#ClienteMoroso()

    +

    cliM$Nombre "Pe,e"

    cliM$!euda -000

    cli cliM

    + Console$&rite'ine(".sando Mostrar de la clase Cliente")

    cli$Mostrar()

    +

    Console$&rite'ine(".sando Mostrar de la clase

    ClienteMoroso")

    cliM$Mostrar()

    +

    Console$&rite'ine("'a deuda del moroso es: {0}"

    cliM$!euda)

    +

    Console$/ead'ine()

    EndSub

    n este caso la ariable cli si#!le#ente se "a declarado co#o del ti!o Cliente !ero no se "a creado unnueo objeto si#!le#ente "e#os asignado a esa ariable el contenido de la ariable cliM.

    Dpto. Informtica. 12

  • 7/25/2019 06_Introduccion a La POO

    13/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    Con esto lo ue "ace#os es asignar a esa ariable el contenido de la clase ClienteMoroso !ero co#o

    co#!render$s la clase Cliente Vno entiendeV nada de las nueas !ro!iedades i#!le#entadas en la clase

    deriada !or tanto slo se !odr$ acceder a la !arte ue es co#n a esas dos clases8 la !arte "eredada de la

    clase Cliente.

    Real#ente las dos ariables a!untan a un #is#o objeto !or eso al usar el #>todo Mostrar se #uestra lo

    #is#o. Ade#$s de ue si "ace#os cualuier ca#bio a la !ro!iedad +o#bre al e

  • 7/25/2019 06_Introduccion a La POO

    14/14

    Desarrollo de Aplicaciones Informticas- Visual Basic.Net .

    %. E&ercicios.

    1; Identi(icar clases con sus atributos y #>todos !ara re!resentar la in(or#acin de una agenda #usical.

    :rinci!al#ente centrandose en gru!os #usicos y discos.

    2; Identi(icar clases con sus atributos y #>todos !ara re!resentar la in(or#acin de descargas de ideos

    juegos. :eliculas etc.

    3; Identi(icar clases con sus atributos y #>todos !ara re!resentar la in(or#acin de un !olide!ortio

    #unici!al. e deber$ er(lejar in(or#acin sobre usuarios actiidades instalaciones...

    Dpto. Informtica. 14