8 Traduci Da

download 8 Traduci Da

of 122

Transcript of 8 Traduci Da

  • 7/24/2019 8 Traduci Da

    1/122

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    Captulo 8 - Programacin !asado en o!"etosContorno

    8.1 Introduccin

    8.2 La implementacin de un tipo de tiempo de datos abstracta con una clase

    Alcance 8.3 Clase

    8.4 Control de acceso a los miembros

    8.5 En referencia alos diputadosel objeto actual'scon este

    8. !bjetos Iniciali"acin Clase# Constructores

    8.$ %tili"ar constructores sobrecar&ados

    8.8 %so de establecer ' obtener ()todos

    8.* Composicin

    8.1+ ,ecoleccin de -asura

    8.11 (iembros del &rupo esttico

  • 7/24/2019 8 Traduci Da

    2/122

    8.12 /ariables de instancia 0inales

    8.13 Creacin de pauetesAcceso 8.14 auete

    ,eutili"acin 8.15 oftare

    8.1 atos abstraccin ' encapsulacin

    861$ 7Ejemplo prctico opcional Acerca de los objetos# Comen"ando a pro&ramar

    las clases para el Ascensor imulacin

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1 Introduccin

    Programacin #rientada a #!"etos $P##%

    Encapsuladatos $atri!utos% & m'todos $comportamientos% #!"etos

    Permite a los o!"etos para comunicarse

    Interfases!ien de(inidas

  • 7/24/2019 8 Traduci Da

    3/122

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1 Introduccin 7cont. )engua"e de programacin de procedimiento C es un e"emplo

    *ccin orientada

    )as (unciones son las unidades de programacin

    )engua"e de programacin orientado a o!"etos +ava es un e"emplo

    #rientado a o!"etos

    )as clases son unidades de programacin

    unciones omtodos,se encapsulan en clases

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1 Introduccin 7cont.

  • 7/24/2019 8 Traduci Da

    4/122

    ste captulo trata Cmo crear o!"etos Cmo utiliar o!"etos

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.2 La implementacin de un tipo de tiempo de datos

    abstracta con una clase

    Introducimos clasesTime/ & prue!atiempo Time/."avadeclara clase Time/

    TimeTest."avadeclara clase prue!atiempo

    clasesp!licasde!en ser declarados en archivos separados

    ClaseTime/ no e"ecutar1 por s mismo o tiene m'todoprincipal

  • 7/24/2019 8 Traduci Da

    5/122

    Prue!atiempo, ue tiene m'todo principal, creauna instancia$% &

    utilia o!"eto Time/2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    Time/."ava

    )nea 4

    Time/ $su!clase% se e5tiende "ava.lang.#!"ect superclase

    )neas 6-8

    varia!les privadas

    )neas /2-/4

    Time/ constructor

    a continuacin, invoca el m'todo setTime

  • 7/24/2019 8 Traduci Da

    6/122

    )nea /7

    m'todos p!licos)neas /7-2

    9'todo setTime esta!lece varia!les privadas de acuerdo a los argumentos

    199 0i&.8.1# :ime1.ja;a

    2declaracin de la clase 99 :ime1 mantiene la tiende!bject @

    pri;adoint

  • 7/24/2019 8 Traduci Da

    7/122

    1199 ase&ura ue cada objeto :ime1 comien"a en un estado co

  • 7/24/2019 8 Traduci Da

    8/122

    24

    25

    Time/ $su!clase% se e5tiende "ava.lang.#!"ect superclase $captulo 7 analia la herencia%

    varia!les privadas $& m'todos% son accesi!les slo a los m'todos de esta clase

    9'todo setTime esta!lece varia!les privadas de acuerdo a los argumentos

    m'todos p!licos $& varia!les% son accesi!les dondeuiera programa tiene Time/ re(erencia

    Constructor Time/ crea o!"eto Time/ entonces invoca el m'todo setTime

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    Time/."ava

    299 Con;ertir en cadena en formato de

  • 7/24/2019 8 Traduci Da

    9/122

    2*toi&its ecimal0ormat Dnue;oecimal0ormat 7++?

    3+

    31 ;ol;ertoi&its.format 7

  • 7/24/2019 8 Traduci Da

    10/122

    427

  • 7/24/2019 8 Traduci Da

    11/122

    Inicialia las varia!les de instancia de un o!"eto de clase

    :e llama al programa crea una instancia un o!"eto de esa clase Puede tomar argumentos, perono puede devolver valores

    Clase puede tener varios constructores, a trav's de la sobrecarga

    ClaseTime/ constructor $lneas /2-/4%

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    TimeTest/."ava

    )nea 7;eclarar & crear una instancia de la clase Time/ llamando Time/ constructor

    )neas /2-26 TimeTest/ interacta con Time/ llamando m'todos p!licos TI9/

  • 7/24/2019 8 Traduci Da

    12/122

    199 0i&.8.2# :ime:est1.ja;a

    299 Clase :ime:est1 para ejercer clase :ime1.

    =a;a>.sin&.=!ptionane 3de importacin?

    4

    5public class:ime:est1 @

    $ static ;oid main7trin& ar&s MNpBblicos

    8@

    *tiempo :ime1 Dne:ime1 7?99 llama :ime1 constructor

    1+

    1199 ane>ar ;ersin de cadena de tiempo de salida de Cuerdas

    12trin& salida DLa

  • 7/24/2019 8 Traduci Da

    13/122

    14time.totandardtrin& 7?

    15

    199 tiempo de cambio ' aPadir ;e" actuali"ada a la salida

    1$time.set:ime7136 2$6 ?

    18de salida J DO n tiempo O n%ni;ersal despu)s set:ime es#J

    1*time.to%ni;ersaltrin& 7 J

    2+ :iempo O ntandard despu)s set:ime es#J time.totandardtrin& 7?

    21

    2299 tiempo ajustado con ;alores no ;lidos?ane>ar ;e" actuali"ada a la salida

    23time.set:ime7**6 **6 **?

    24de salida J DO n O nespu)s intentar ajustes no ;lidos#J

    25 :iempo O n%ni;ersal#J time.to%ni;ersaltrin& 7 J

    2 :iempo O ntandard#J time.totandardtrin& 7?

  • 7/24/2019 8 Traduci Da

    14/122

    2$

    ;eclarar & crear una instancia de la clase Time/ llamando Time/ constructorTimeTest/ interacta con Time/ llamando m'todos p!licos TI9/

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    TimeTest/."ava

    28=!ptionane.s

  • 7/24/2019 8 Traduci Da

    15/122

    3599 fin de la clase :ime:est1

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    Alcance 8.3 Clase

  • 7/24/2019 8 Traduci Da

    16/122

    Controlar el acceso alas varia!les & m'todos dela clase?s

    p!lico =aria!les & m'todos accesi!les a los clientes de la clase

    privado

    =aria!les & m'todos ue no son accesi!les a los clientes de la clase

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    TimeTest2."ava

    )neas 7-//rror Compiler - TimeTest2 no puede acceder directamente a los datos privados de Time/

    199 0i&.8.3# :ime:est2.ja;a

  • 7/24/2019 8 Traduci Da

    17/122

    299 Los errores resultantes de intentos de acceso a miembros pri;ados de :ime1.

    3clase pBblica:ime:est2 @

    4

    5 static ;oid main7trin& ar&s MNpBblicos

    @

    $tiempo :ime1 Dne:ime1 7?

    8

    *time.

  • 7/24/2019 8 Traduci Da

    18/122

    :ime:est2.ja;a#*#

  • 7/24/2019 8 Traduci Da

    19/122

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.5 En referencia a los diputados el objetoactual 'scon este

    Pala!ra claveesta (esta referencia) Permite ue un o!"eto se re(iere a s mismo

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    ThisTest."ava

    199 0i&.8.4# :

  • 7/24/2019 8 Traduci Da

    20/122

    5

    pBblicaclase:

  • 7/24/2019 8 Traduci Da

    21/122

    18

    1*99 fin de la clase :

  • 7/24/2019 8 Traduci Da

    22/122

    )neas 3/-33

    este utilia para distinguir entre argumens & varia!les

    )neas 37-0

    uso e5plcito e implcito ue esto llame to:tandars:tring

    2$99 constructor utili"a los nombres de parmetros id)nticos a ;ariable de instancia

    2899 nombres?Esto de referencia necesarios para distin&uir entre nombres

    2* imple:imepBblico 7int

  • 7/24/2019 8 Traduci Da

    23/122

    399 uso e>plVcito e implVcito esto para llamar totandardtrin&

    3$ public trin&buildtrin& 7

    38@

    3* retorno:

  • 7/24/2019 8 Traduci Da

    24/122

    4*99 tienen ;ariables locales con mismos nombres ue las ;ariables de instancia

    5+ ;ol;ertoi&its.format 7este.

  • 7/24/2019 8 Traduci Da

    25/122

    Constructor de la clase llamada a una instancia o!"eto de esa

    clase

    nuevoNombreClase $argumento/,argumento2, ..., arugment%A

    nuevo indica ue se crea nuevo o!"eto

    NombreClaseindica el tipo de o!"eto creado

    argumentosespeci(ica valores de los argumentos del constructor

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.$ %tili"ar constructores sobrecar&ados

    Constructores so!recargados

    9'todos $en la misma clase% pueden tener el mismo nom!re ;e!e tener di(erentes listas de par1metros

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

  • 7/24/2019 8 Traduci Da

    26/122

    Contorno

    Time2."ava

    )neas /2-/4

    :in argumentos $por de(ecto% constructor

    )nea /

    @se esto para invocar al constructor Time2 declarado en las lneas 30-33

    )neas /8-2/

    Constructor so!recargado tiene un argumento int

    )neas 2-2B

    :egundo constructor so!recargado tiene dos argumentos int

    199 0i&.8.5# :ime2.ja;a

    299 declaracin de clase :ime2 con constructores sobrecar&ados.

    =a;a.te>t.ecimal0ormat 3de importacin?

  • 7/24/2019 8 Traduci Da

    27/122

    4

    5public class:ime2 @

    int

  • 7/24/2019 8 Traduci Da

    28/122

    1$99 :ime2 constructor#

  • 7/24/2019 8 Traduci Da

    29/122

    Constructor so!recargado tiene un argumento int

    :egundo constructor so!recargado tiene dos argumentos int@se esto para invocar al constructor Time2 declarado en las lneas 30-33

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    Time2."ava

    )neas 30-33

    n tercer constructor so!recargado tiene tres argumentos int

    )neas 36-0

    Cuarta constructor so!recargado tiene argumento Time2

    2*99 :ime2 constructor#

  • 7/24/2019 8 Traduci Da

    30/122

    3+ :ime2pBblico 7int

  • 7/24/2019 8 Traduci Da

    31/122

    4399 controles sobre los datos de ;alide"?establecer los ;alores no ;lidos a cero

    44 public ;oidset:ime 7int

  • 7/24/2019 8 Traduci Da

    32/122

    5 ;ol;ertoi&its.format 7

  • 7/24/2019 8 Traduci Da

    33/122

    4

    5 7DD 7

  • 7/24/2019 8 Traduci Da

    34/122

    199 0i&.8.# :ime:est3.ja;a

    299 constructores sobrecar&ados utili"an para iniciali"ar objetos :ime 2.

    3ja;a>.sin& importacin.U?

    4

    5pBblicaclase:ime:est3 @

    $ static ;oid main7trin& ar&s MNpBblicos

    8@

    *:ime2 t1 Dne:ime2 7?99 ++#++#++

    1+:ime2 t2 Dne:ime2 72?99 +2#++#++

    11:ime2 t3 Dne:ime2 7216 34?99 21#34#++

    12:ime2 t4 Dne:ime2 7126 256 42?99 12#25#42

    13:ime2 t5 Dne:ime2 72$6 $46 **?99 ++#++#++

  • 7/24/2019 8 Traduci Da

    35/122

    14:ime2 t Dne:ime2 7t4?99 12#25#42

    15

    1trin& salida DConstruido con#J

    1$ O Qt1# todos los ar&umentos en moraJ

    18 O QJ t1.to%ni;ersaltrin& 7 J

    1* O QJ t1.totandardtrin& 7?

    2+

    21de salida J DO Q:2#

  • 7/24/2019 8 Traduci Da

    36/122

    2$ O QJ t3.totandardtrin& 7?

    Instanciar cada re(erencia Time2 usando un constructor di(erente2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    TimeTest3."ava

    28

    2*de salida J DO nt4#

  • 7/24/2019 8 Traduci Da

    37/122

    3

    3$de salida J DO Q:# t4 objeto :ime2 especificadoJ

    38 O QJ t.to%ni;ersaltrin& 7 J

    3* O QJ t.totandardtrin& 7?

    4+

    41=!ptionane.s

  • 7/24/2019 8 Traduci Da

    38/122

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.8 %so de establecer ' obtener ()todos 9'todo de acceso $getm'todo% m'todop!lico

    Permitir a los clientes para leerlos datos privados

    9'todo mutador $m'todoset% m'todop!lico

    Permitir a los clientes para modi(icarlos datos privados

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    ContornoTime3."ava

  • 7/24/2019 8 Traduci Da

    39/122

    )neas 6-8

    varia!les privadas no pueden acceder directamente a los o!"etos en di(erentes clases

    199 0i&.8.$# :ime3.ja;a

    299 declaracin de clase :ime3 con el sistema ' obtener m)todos.

    =a;a.te>t.ecimal0ormat 3de importacin?

    4

    5public class:ime3 @

    int

  • 7/24/2019 8 Traduci Da

    40/122

    12 :ime3pBblica7

    13@

    14 esto7+6 +6 +?99 in;ocar constructor :ime3 con tres ar&umentos

    15

    1

    1$ 99 :ime3 constructor#

  • 7/24/2019 8 Traduci Da

    41/122

    25@

    2 este7

  • 7/24/2019 8 Traduci Da

    42/122

    31@

    32set:ime 7

  • 7/24/2019 8 Traduci Da

    43/122

    44 99 Comprobaciones de ;alide" sobre los datos?establecer los ;alores no ;lidos a cero

    45 public ;oidset:ime 7int

  • 7/24/2019 8 Traduci Da

    44/122

    5$

    9'todos set permite a los o!"etos para manipular varia!les privadas

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    Time3."ava

    )neas B2-8B

    >eci!e m'todos permiten o!"etos para leer varia!les privadas

    58 99 /alidar ' ajustar los minutos

    5* public ;oidset(inute 7intm

    +@

    1minutos D 77m D+FF m G+m# +?

    2

  • 7/24/2019 8 Traduci Da

    45/122

    3

    4 99 /alidar ' establecer se&undos

    5 public ;oidsetecond 7ints

    @

    $se&undos D 77 D + FF s G+s#H +?

    8

    *

    $+ 99 !btener ()todos

    $1 99 !btener ;alor de la

  • 7/24/2019 8 Traduci Da

    46/122

    $

    $$

    99 !btener ;alor minuto

    $8 public int&et(inute 7

    $*@

    8+ ;ol;erminutos?

    81

    82

    >eci!e m'todos permiten o!"etos para leer varia!les privadas

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    ContornoTime3."ava

    83 99 !btiene se&undo ;alor

    84 public int&etecond 7

  • 7/24/2019 8 Traduci Da

    47/122

    85@

    8

    ;ol;er

    se&undo?

    8$

    88

    8* 99 Con;ertir en cadena en formato uni;ersal de tiempo

    *+ to%ni;ersaltrin& publictrin& 7

    *1@

    *2toi&its ecimal0ormat Dnue;oecimal0ormat 7++?

    *3

    *4 ;ol;ertoi&its.format 7&etWour 7 J#J

    *5toi&its.format 7&et(inute 7 J#J

    *toi&its.format 7&etecond 7?

    *$

  • 7/24/2019 8 Traduci Da

    48/122

    *8

    **

    99 Con;ertir en cadena en formato de

  • 7/24/2019 8 Traduci Da

    49/122

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    TimeTest."ava

    )neas 8 & /B

    ;eclarar & crear una instancia de o!"eto Time3

    )neas 24 & 3/

    +Te5tields permiten al usuario especi(icar horas.

    199 0i&.8.8# :ime:est4.ja;a

    299 emostracin del conjunto de clases :ime3 ' obtener m)todos.

    3importja;a.at. U?

    4ja;a.at.e;ent importacin.U?

  • 7/24/2019 8 Traduci Da

    50/122

    5ja;a>.sin& importacin. U?

    $public class:ime:est4e>tiende=AppletimplementaActionListener @

    8 tiempo :ime3 pri;ado?

    *

    1+ pri;ado=Label tI0ield

  • 7/24/2019 8 Traduci Da

    51/122

    18

    1* 99 !btener panel de contenido del applet ' cambiar su tra"ado a 0loLa'out

    2+Container contenedor D &etContentane 7?

    21container.setLa'out 7ne0loLa'out 7?

    22

    23 99 Establecer

  • 7/24/2019 8 Traduci Da

    52/122

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    TimeTest."ava

    )nea 3/

    +Te5tield permite al usuario especi(icar minutos

    )nea 3B

    +Te5tield permite al usuario especi(icar segundos

    2* 99 Establecer minuteLabel ' minute0ield

    3+minuteLabel Dne=Label7(inuto et?

    31minute0ield Dne=:e>t0ield 71+?

    32contenedor.add 7minuteLabel?

  • 7/24/2019 8 Traduci Da

    53/122

    33contenedor.add 7minute0ield?

    34

    35 99 Establecer secondLabel ' second0ield

    3secondLabel Dne=Label7et e&undo?

    3$second0ield Dne=:e>t0ield 71+?

    38contenedor.add 7secondLabel?

    3*contenedor.add 7second0ield?

    4+

    41 99 Establecer displa'0ield

    42displa'0ield Dne=:e>t0ield 73+?

    43displa'0ield.setEditable7false?

    44contenedor.add 7displa'0ield?

    45

  • 7/24/2019 8 Traduci Da

    54/122

    4 99 Establecer ticX-utton

    4$ticX-utton Dne=-utton7A&re&ar 1 a e&unda?

    48contenedor.add 7ticX-utton?

    4*

    5+ 99 ,e&istrar controladores de e;entos?este applet es el ActionListener6

    51 99 Yue contiene el m)todo actionerformed ue se llamar a

    52 99 e;entos de accin man&o &enerados por

  • 7/24/2019 8 Traduci Da

    55/122

    +Te5tield permite al usuario especi(icar minutos

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    TimeTest."ava

    )neas B/-B

    )neas BB-80

    )neas 83-86 TimeTest4 utilia m'todos set Time3 esta!lecer varia!les privadas Time3

    58

    5*ispla':ime 7?99 actuali"ar te>to en displa'0ield ' barra de estado

    +

    199 fin del m)todo init

    2

  • 7/24/2019 8 Traduci Da

    56/122

    3 99 Controlador de e;entos para e;entos de botn ' :e>t0ield

    4 public ;oidactionerformed 7ActionE;ent e;ento

    5@

    99 roceso e;ento ticX-utton

    $ si7e;ent.&etource 7 DD ticX-utton

    8ticX 7?

    *

    $+ 99 roceso e;ento

  • 7/24/2019 8 Traduci Da

    57/122

    $ 99 roceso e;ento minute0ield

    $$ else if 7e;ent.&etource7 DD minute0ield @

    $8time.set(inute 7Inte&er.parseInt 7e;ento.&etActionCommand 7?

    $*minute0ield.set:e>t 7?

    8+

    81

    82 99 roceso e;ento second0ield

    83 else if 7e;ent.&etource7 DD second0ield @

    84time.setecond 7Inte&er.parseInt 7e;ento.&etActionCommand 7?

    85second0ield.set:e>t 7?

    8

    TimeTest4 utilia m'todos set Time3 esta!lecer varia!les privadas Time3

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

  • 7/24/2019 8 Traduci Da

    58/122

    Contorno

    TimeTest."ava

    )neas 74-76 TimeTest4 utilia Time3 o!tener m'todos para leer varia!les privadas Time3

    8$

    88ispla':ime 7?99 actuali"ar te>to en displa'0ield ' barra de estado

    8*

    *+99 fin del m)todo actionerformed

    *1

    *2 99 -arra de estado de actuali"acin displa'0ield ' subpro&rama de contenedor

    *3

    pBblica

    ispla':ime

    ;oid

    7

    *4@

    *5displa'0ield.set:e>t 7Wora#J time.&etWour 7J? (inuto#J

    *time.&et(inute 7J6 en se&undo lu&ar#J time.&etecond 7?

  • 7/24/2019 8 Traduci Da

    59/122

    *$

    *8s

  • 7/24/2019 8 Traduci Da

    60/122

    11+

    111 si7time.&et(inute 7 DD +

    112time.setWour 77time.&etWour 7 J 1 24?

    113

    114

    11599 fin del m)todo &arrapata

    11

    11$99 fin de la clase :ime:est4

    TimeTest4 utilia m'todos get Time3 leer varia!les privadas Time3

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    TimeTest."ava

  • 7/24/2019 8 Traduci Da

    61/122

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    TimeTest."ava

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    ContornoTimeTest."ava

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.* Composicin

    Composicin Clase contiene re(erencias a o!"etos de otras clases

    stas re(erencias son miem!ros

  • 7/24/2019 8 Traduci Da

    62/122

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    ;ate."ava

    )nea

    Clase echa encapsula datos ue descri!e la (echa

    )neas //-20

    echa constructor crea una instancia del o!"eto ;ate !asado en argumentos especi(icados

    199 0i&.8.*# ate.ja;a

    299 declaracin de la clase ate.

    3

    4claseatepBblica@

  • 7/24/2019 8 Traduci Da

    63/122

    5 mesint pri;ado?99 12.+1

    dVaint pri;ado?99 131 basado en meses

    $ aPosint pri;ado?99 cualuier aPo

    8

    * 99 Constructor# llamar c

  • 7/24/2019 8 Traduci Da

    64/122

    18toatetrin& 7?

    1*

    2+99 fin del constructor ate

    21

    22 99 ()todo de utilidad para confirmar el ;alor adecuado meses

    23 pri;ada intc

  • 7/24/2019 8 Traduci Da

    65/122

    ;ate."ava

    2$

    28 else@99 meses no es ;lido

    2*'stem.out.println7mes In;lido 7J test(ont< J

    3+ one a 1.?

    31 return 1?99 mantener objeto en estado consistente

    32

    33

    3499 fin del m)todo c

  • 7/24/2019 8 Traduci Da

    66/122

    3* intda'ser(ont< MN D

    4+@+6 316 286 316 3+6 316 3+6 316 316 3+6 316 3+6 31?

    41

    42 99 Comprobar si el dVa en el ran&o de mes

    43 si7testa'+FF testa' GD da'ser(ont< MmesesN

    44 ;ol;ertesta'?

    45

    4 99 Comprobar aPo bisiesto

    4$ si7mes DD2FF testa' DD2*FF 7aPo 4++DD+KK

    487aPo 4DD+FF aPos 1++Z D +

    4* ;ol;ertesta'?

    5+

    51'stem.out.println7dVa In;lido 7J testa' J pone a 1.?

  • 7/24/2019 8 Traduci Da

    67/122

    52

    53 retorno1?99 mantener objeto en estado co

  • 7/24/2019 8 Traduci Da

    68/122

    2

    399 fin de la clase ate

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    mplo&ee."ava

    )neas B-8

    mpleado se compone de dos re(erencias a o!"etos ;ate

    199 0i&.8.1+# Emplo'ee.ja;a

    299 declaracin de clase Empleado.

    3

    4Empleadopublic class@

  • 7/24/2019 8 Traduci Da

    69/122

    5 primerQombre pri;atetrin&?

    lastQame pri;atetrin&?

    $ 0ec

  • 7/24/2019 8 Traduci Da

    70/122

    18

    1*

    2+ 99 Con;ertir Empleado a formato de cadena

    21 public trin&toEmplo'eetrin& 7

    22@

    23 ;ol;erlastQame J6J firstQame J

    24 Contratado#J

  • 7/24/2019 8 Traduci Da

    71/122

    Contorno

    mplo&eeTest."ava

    199 0i&.8.11# Emplo'ee:est.ja;a

    299 emostracin de un objeto con un objeto miembro.

    =a;a>.sin&.=!ptionane 3de importacin?

    4

    5public classEmplo'ee:est @

    $ static ;oid main7trin& ar&s MNpBblicos

    8@

    *0ec

  • 7/24/2019 8 Traduci Da

    72/122

    12

    13=!ptionane.s

  • 7/24/2019 8 Traduci Da

    73/122

    ;evuelve memoria para sistema de

    +ava realia esto de (orma autom1tica

    o!"eto marcado para la recoleccin de !asura si no ha& re(erencias

    al o!"eto

    9'todo (inaliador ;evuelve recursos al sistema de

    +ava proporciona m'todo(inalie ;e(inido en"ava.lang.#!"ect

    >eci!e ningn par1metro

    ;evolucionesvaco

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.11 (iembros del &rupo esttico

    pala!ra clavestatic

  • 7/24/2019 8 Traduci Da

    74/122

    varia!le de claseest1tica

    In(ormacin de toda clase

    Todos los o!"etos de clase comparten mismos datos

    l acceso a una clasep!lica ?smiem!ros est1ticos Cali(icar el nom!re del miem!ro con el nom!re de clase & un

    punto $.%

    por e"emplo, 9ath.random $%2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    mplo&ee."ava

    )nea 6

    mpleado o!"etos comparten una instancia de recuento

  • 7/24/2019 8 Traduci Da

    75/122

    )neas 23-28

    :e llama al mpleado est1 marcado para la recoleccin de !asura

    199 0i&.8.12# Emplo'ee.ja;a

    299 declaracin de clase Empleado.

    3Empleadopublic class@

    4 primerQombre pri;atetrin&?

    5 lastQame pri;atetrin&?

    static int pri;adocount D +?99 nBmero de objetos en la memoria

    $

    8 99 Iniciali"ar empleado6 aPadir 1 a recuento esttica '

    * 99 Cadena de salida ue indica ue el constructor fue llamado

    1+ EmpleadopBblico7trin& primero6 Cadena pasado

    11@

  • 7/24/2019 8 Traduci Da

    76/122

    12firstQame D primero?

    13lastQame D Bltimo?

    14

    15JJ cuentan?99 incrementa el contador esttico de empleados

    1'stem.out.println7constructor de Empleado#J

    1$Qombre JJ lastQame?

    18

    1*

    2+ 99 ,estar 1 a recuento esttica al recolector de basura

    21 99 llamadas finali"an limpiar objeto ' trin& salida

    22 99 Indica ue finali"e fue llamado

    23 prote&ido;oidfinali"e 7

    24@

  • 7/24/2019 8 Traduci Da

    77/122

    25count?99 decremento recuento esttica de los empleados

    2'stem.out.println7finali"ador Empleado#J

    2$Qombre JJ Apellido J? count DJ count?

    28

    2*

    mpleado o!"etos comparten una instancia de recuento

    :e llama al mpleado est1 marcado para la recoleccin de !asura

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    mplo&ee."ava

    )neas 3-6

    m'todo est1tico accede est1tica varia!le cuenta

  • 7/24/2019 8 Traduci Da

    78/122

    3+ 99 !btener primero nombre

    31 public trin&&et0irstQame 7

    32@

    33 ;ol;erfirstQame?

    34

    35

    3 99 !btener apellido

    3$ public trin&&etLastQame 7

    38@

    3* ;ol;erlastQame?

    4+

    41

    42 99 ()todo esttico para obtener el ;alor de conteo esttico

  • 7/24/2019 8 Traduci Da

    79/122

    43 int&etCountstatic7

    44@

    45 recuento de retorno?

    4

    4$

    4899 fin de la clase Empleado

    m'todo est1tico accede est1tica varia!le cuenta

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    mplo&eeTest."ava

    )nea /2 mplo&eeTest puede invocar mpleado m'todo est1tico, a pesar de los empleados no ha

    creado una instancia

  • 7/24/2019 8 Traduci Da

    80/122

  • 7/24/2019 8 Traduci Da

    81/122

    14 99 Crear dos empleados?conteo debe ser 2

    15e1 Empleado DneEmpleado 7usan6anadero?

    1e2 Empleado DneEmpleado 7-ob6=ones?

    1$

    18 99 emostrar ue cuenta es 2 despu)s de la creacin de dos empleados

    1*de salida J DO n O nEmplo'ees despu)s de instancias#J

    2+ O Q;Va e1.&etCount 7#J e1.&etCount 7 J

    21 O Q;Va e2.&etCount 7#J e2.&etCount 7 J

    22 O Q;Va Emplo'ee.&etCount 7#J Emplo'ee.&etCount 7?

    23

    24 99 !btener los nombres de los empleados

    25de salida J DO n O nEmplo'ee 1#J e1.&et0irstQame 7 J

    2 J E1.&etLastQame 7 JO nEmplo'ee 2#J

  • 7/24/2019 8 Traduci Da

    82/122

    2$e2.&et0irstQame 7 JJ e2.&etLastQame 7?

    28

    mplo&eeTest puede invocar mpleado m'todo est1tico, a pesar de los empleados no ha creado una

    instancia

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contornomplo&eeTest."ava

    )nea 34

    Pide mecanismo autom1tico de recoleccin de !asura de +ava

    2* 99 Contador de referencia de disminucin para cada objeto Empleado?en esto

    3+ 99 Ejemplo6 slo

  • 7/24/2019 8 Traduci Da

    83/122

    32e1 Dnull?

    33e2 Dnull?

    34

    35'stem.&c 7?99 su&ieren llamada al recolector de basura

    3

    3$ 99 Espectculo recuento Empleado despu)s de llamar recolector de basura?contar

    38 99 (ostrado puede ser +6 1 o 2 en funcin de si recolector de basura

    3* 99 Ejecuta inmediatamente ' nBmero de Empleado objetos reco&idos

    4+de salida J DO n O nEmplo'ees despu)s 'stem.&c 7#J

    41Emplo'ee.&etCount 7?

    42

    43=!ptionane.s

  • 7/24/2019 8 Traduci Da

    84/122

    45

    4'stem.e>it 7+?

    4$

    48

    4*99 fin de la clase Emplo'ee:est

    Empleado constructor# usan -aXer6

    Empleado constructor# -ob =ones

    Empleado finali"ador# usan panadero?count D 1

    Empleado finali"ador# -ob =ones?count D +

    Pide mecanismo autom1tico de recoleccin de !asura de +ava

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.12 /ariables de instancia 0inales

    pala!ra clave(inal

  • 7/24/2019 8 Traduci Da

    85/122

    Indica ue la varia!le no es modi(ica!le

    Cualuier intento de modi(icarresultados varia!les (inales en error

    int (inal privadoIC>9T#D 4A ;eclaraincrementovaria!lecomo unaconstante

    o *plicaprincipio de privilegios mnimos

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    IncrementTest."ava

    199 0i&.8.14# Increment:est.ja;a

    299 Iniciali"ar una ;ariable final.

    3importja;a.at. U?

    4ja;a.at.e;ent importacin.U?

  • 7/24/2019 8 Traduci Da

    86/122

    5ja;a>.sin& importacin. U?

    $public classIncrement:este>tiende=AppletimplementaActionListener @

    8 pri;adoincrement!bject Incremento?

    * botnpri;ada=-utton?

    1+

    11 99 Confi&urar S%I

    12 public ;oidinit 7

    13@

    14increment!bject DneIncremento 75?

    15

    1Container contenedor D &etContentane 7?

    1$

  • 7/24/2019 8 Traduci Da

    87/122

    18button Dne=-utton7Wa&a clic para aumentar?

    1*button.addActionListener 7t

  • 7/24/2019 8 Traduci Da

    88/122

    31

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    Increment."ava

    )nea 36pala!ra clave (inal declara IC>9T# tan constante

    )nea /

    ltimo incremento varia!le de!e ser inicialiado antes de usarlo

    3299 clase ue contiene la ;ariable constante

    33Incrementoclase@

    34 intcuentapri;adaD +?99 nBmero de incrementos

  • 7/24/2019 8 Traduci Da

    89/122

    35 pri;ada int:otal D+?99 total de todos los incrementos

    3 int final pri;adoIQC,E(EQ:!?99 /ariable constante

    3$

    38 99 Iniciali"ar incremento constante

    3* IncrementopBblico 7intincrement/alue

    4+@

    41 IQC,E(EQ:!D increment/alue?99 /ariable intiali"e constante 7una ;e"

    42

    43

    44 99 APadir IQC,E(EQ:! total ' a&re&ar 1 para contar

    45 pBblicasubasta;oid7

    4@

    4$totales J D IQC,E(EQ:!?

  • 7/24/2019 8 Traduci Da

    90/122

    48JJ cuentan?

    4*

    5+

    51 99 e;uel;e representacin trin& de datos de un objeto Incremento

    52 toIncrementtrin& publictrin& 7

    53@

    54 retornoespu)s de la subastaJ count J# :otal DJ totales?

    55

    5

    5$99 fin Incremento clase

    pala!ra clave (inal declara IC>9T# tan constanteltimo incremento varia!le de!e ser inicialiado antes de usarlo

    2003 Prentice Hall, Inc. Todos los derechos reservados.

  • 7/24/2019 8 Traduci Da

    91/122

    Increment:est.ja;a#4+# incremento ;ariable podrVa no

  • 7/24/2019 8 Traduci Da

    92/122

    om!re de dominio de Internet >everse

    por e"emplo,com.deitel

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    Time/."ava

    )nea 3

    Clase Time/ se coloca en este pauete

    )nea 3

    Clase Time/ est1 en el directorio com G ;eitel G "htp4 G ch08

  • 7/24/2019 8 Traduci Da

    93/122

    )nea 4

    clase importacin ;ecimalormat del pauete "ava.te5t

    199 0i&.8.1# :ime1.ja;a

    2declaracin de la clase 99 :ime1 mantiene la

  • 7/24/2019 8 Traduci Da

    94/122

    12 99 :ime1 constructor iniciali"a cada ;ariable de instancia a cero?

    13 99 Ase&ura ue cada objeto :ime1 comien"a en un estado co

  • 7/24/2019 8 Traduci Da

    95/122

    25se&undos D 77 D+FF s G+s#H +?

    2

    2$

    Clase Time/ se coloca en este pauete

    clase importacin ;ecimalormat del pauete "ava.te5t

    Clase Time/ est1 en el directorio com G ;eitel G "htp4 G ch08

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    Time/."ava

    )nea 3/

    ;ecimalormat del pauete "ava.te5t

    28 99 Con;ertir en cadena en formato uni;ersal de tiempo

  • 7/24/2019 8 Traduci Da

    96/122

    2* to%ni;ersaltrin& publictrin& 7

    3+@

    31toi&its ecimal0ormat Dnue;oecimal0ormat 7++?

    32

    33 ;ol;ertoi&its.format 7

  • 7/24/2019 8 Traduci Da

    97/122

    42 retorno 7DD 7

  • 7/24/2019 8 Traduci Da

    98/122

  • 7/24/2019 8 Traduci Da

    99/122

    *

    1+ public class :ime:est1 @

    11

    12 static ;oid main7trin& ar&s MNpBblicos

    13 @

    14 :ime1 tiempo D nue;o :ime1 7? 99 llama :ime1 constructor

    15

    1 99 Ane>ar Cadena ;ersin de tiempo de salida de Cuerdas

    1$ trin& salida D La

  • 7/24/2019 8 Traduci Da

    100/122

    22 time.set:ime 7 13 6 2$ 6 ?

    23 de salida J D O n tiempo O n%ni;ersal despu)s set:ime es# J

    24 time.to%ni;ersaltrin& 7 J

    25 :iempo O ntandard despu)s set:ime es# J time.totandardtrin& 7?

    2

    clase importacin Time/ del pauete com.deitel."htp.ch08

    clase +#ptionPane importacin de pauete "ava5.sFingTimeTest/ puede declarar o!"eto Time/

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    TimeTest/."ava

    2$ 99 :iempo ajustado con ;alores no ;lidos? ane>ar ;e" actuali"ada a la salida

  • 7/24/2019 8 Traduci Da

    101/122

    28 time.set:ime 7 ** 6 ** 6 ** ?

    2* de salida J D O n O nespu)s intentar ajustes no ;lidos# J

    3+ :iempo O n%ni;ersal# J time.to%ni;ersaltrin& 7 J

    31 :iempo O ntandard# J time.totandardtrin& 7?

    32

    33 =!ptionane.s

  • 7/24/2019 8 Traduci Da

    102/122

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    Acceso 8.14 auete

    *cceso Pauete =aria!le o m'todo no tiene modi(icador de acceso de miem!ros

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    ContornoPacage;ataTest."ava

    )nea /0

    Instanciar re(erencia a Pacage;ata o!"eto )neas /3-22 Pacage;ataTest puede acceder a los datos

    Pacage;ata, de!ido a ue cada clase comparte mismo pauete

    199 0i&.8.18# acXa&eata:est.ja;a

  • 7/24/2019 8 Traduci Da

    103/122

  • 7/24/2019 8 Traduci Da

    104/122

    15

    1 99 datos de acceso pauete de cambio de objeto pacXa&eata

    1$ pacXa&eata.number D $$ ?

    18 pacXa&eata.strin& D Soodb'e ?

    1*

    2+ 99 Ane>ar representacin de cadena de pacXa&eata de salida

    21 J D salida ;alores O nespu)s cambiante# O n J

    22 pacXa&eata.toacXa&eatatrin& 7?

    23

    24 =!ptionane.s

  • 7/24/2019 8 Traduci Da

    105/122

    Pacage;ataTest puede acceder a los datos Pacage;ata, de!ido a ue cada clase comparte mismo

    pauete

    2003 Prentice Hall, Inc.

    Todos los derechos reservados.

    Contorno

    Pacage;ataTest."ava )nea 33 o modi(icador de acceso, por lo ue la clase tiene varia!les pauete

    de acceso

    2$ 'stem.e>it 7 + ?

    28

    2*

    3+ 99 fin de la clase acXa&eata:est

    31

  • 7/24/2019 8 Traduci Da

    106/122

    32 99 clase con ;ariables de instancia de acceso pauete

    33 clase acXa&eata @

    34 int numero? ;ariable de instancia con acceso de pauete 99

    35 trin& cadena? ;ariable de instancia con acceso de pauete 99

    3

    3$ 99 Constructor

    38 pBblica acXa&eata 7

    3*@

    4+ QBmero D + ?

    41 cadena D Wola ?

    42

    43

    44 99 e;uel;e acXa&eata objeto representacin de cadena

  • 7/24/2019 8 Traduci Da

    107/122

    45 pBblica toacXa&eatatrin& trin& 7

    4 @

    4$ retornoQBmero# J nBmero J cadena# J cadena?

    48

    4*

    5+ 99 fin de la clase acXa&eata

    o modi(icador de acceso, por lo ue la clase tiene varia!les pauete de acceso2003 Prentice Hall, Inc. Todos los derechos reservados.

    ,eutili"acin 8.15 oftare

    +ava 9arco para lograr la reutiliacin del so(tFare

    l desarrollo r1pido de aplicaciones $>*;%

    por e"emplo, la creacin de una aplicacin E@I r1pidamente

    2003 Prentice Hall, Inc. Todos los derechos reservados.

  • 7/24/2019 8 Traduci Da

    108/122

    8.1 atos abstraccin ' encapsulacin

    l ocultamiento de in(ormacin structura de datos de la pila

    ltimo en entrar, primero en salir $)I#%

    ;esarrollador crea pila

    #culta pila detalles de implementacin ?s de los clientes

    *!straccin de datos Tipos a!stractos de datos $T*;s%

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1 atos abstraccin ' encapsulacin 7Cont.

    >esumen Tipo de datos $*;T% Cola )nea en la tienda de comesti!les

  • 7/24/2019 8 Traduci Da

    109/122

    Primero en entrar, primero en salir $I#%

    Poner en cola para colocar o!"etos en la cola

    Juitar de la cola para retirar o!"etos de la cola

    nueue & deueue esconden representacin de datos interna

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    861$ 7Ejemplo prctico opcional Acerca de los

    objetos# Comen"ando a pro&ramar las clases para elAscensor imulacin

    =isi!ilidad *plicar modi(icadores miem!ro de acceso a miem!ros de laclase

    p!licas m'todos

    para proporcionar servicios a los clientes

  • 7/24/2019 8 Traduci Da

    110/122

    privados de varia!les

    Promover la encapsulacin

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1$ Acerca de los objetos 7cont.

    ;iagrama de clases $@9)% 9odi(icadores 9iem!ro de acceso

    p!lico ;enotado por el signo m1s $ K%

    privado

    ;enotado por el signo menos $ -%

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    )a ig 8./7 ;iagrama de clases con anotaciones de visi!ilidad.

    iso

    - loorum!erL ntero

  • 7/24/2019 8 Traduci Da

    111/122

    - CapacidadL Integer D /

    Ele;ator-utton

    - PrensadoL Moolean D (alse

    K >esetMutton $%L void

    K PressMutton $%L void

    Ele;atoroor

    - *!iertoL Moolean D (alse

    K #pen;oor $%L void

    K Close;oor $%L voidLu"

    - )ight#nL Moolean D (alse

    K Turn#n)ight $%L void

    K Turn#(()ight $%L void

    Campana

    K >ingMell $%L void

    Ele;ator

  • 7/24/2019 8 Traduci Da

    112/122

    K >esetMutton $%L void

    K PressMutton $%L void

    ersona

    - I;L ntero

    - n movimientoL Moolean D true

    K ;oor#pened $%L void

    Ele;ador

    - n movimientoL Moolean D (alse

    - ConvocadoL Moolean D (alse

    - CurrentloorL Integer D /

    - ;estinationloorL Integer D 2

    - CapacidadL Integer D /

    - TravelTimeL Integer D 4

    K =ia"e $%L void

    K >euestlevator $%L void

    K nterlevator $%L void

    K 5itlevator $%L void

    K ;epartlevator $%L void

  • 7/24/2019 8 Traduci Da

    113/122

    0looroor

    - *!iertoL Moolean D (alse

    K #pen;oor $%L void

    K Close;oor $%L void

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1$ Acerca de los objetos 7cont.

    avega!ilidad Indiue en u' direccin una asociacin puede navegarse *&udar a los programadores a determinar u' o!"etos necesitanre(erencias a otros o!"etos

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    La 0i& 8.2+ ;iagrama de clases con la navega!ilidad./

    /

    /

    /

    2

  • 7/24/2019 8 Traduci Da

    114/122

    2

    /

    /

    //

    /

    /

    /

    /

    /

    2

    /

    /

    /

    /

    /

    ersona

    0looroorLu"

    iso

    Ele;ator

  • 7/24/2019 8 Traduci Da

    115/122

    0loor-utton

    Ele;atoroor

    Ele;ador

    Ele;ator-utton

    Campana

    :olicitudes

    Prensas

    Prensas

    >ides:eNales para mover

    >esta!lece

    >esta!lece

    Camina a trav's de

    *!re

    *!re/

    *nillos

    *ctiva G desactiva

  • 7/24/2019 8 Traduci Da

    116/122

    :eNales llegada

    /

    /

    //

    pasa"ero

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1$ Acerca de los objetos 7cont.

    Implementacin Ingeniera directa

    Trans(ormar diseNo $es decir, diagrama de clases% a cdigo

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1$ Acerca de los objetos 7cont.

    Eeneramos cdigo esueleto con nuestro diseNo @tilice la clase *scensor como e"emplo

    Cuatro pasosL

  • 7/24/2019 8 Traduci Da

    117/122

    @se el nom!re en primer compartimiento para declarar clase

    p!lica

    Constructor vaco

    @tilice atri!utos en segundo compartimiento para declarar

    varia!les de instancia

    @se asociaciones en diagrama de clases $ig. 3./7% para declarar

    re(erencias a o!"etos @tilice las operaciones en el tercer compartimiento para declarar

    m'todos

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1$ Acerca de los objetos 7cont.

    aso 1

  • 7/24/2019 8 Traduci Da

    118/122

    pu!lic class *scensor O

    p!lico *scensor $% O

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1$ Acerca de los objetos 7cont.

    aso 2pu!lic class *scensor O

    GG atri!utos

    private !oolean movimientoA

    private !oolean convocadoA

    privadoint currentloor D / A

    privadoint destinationloor D 2 A

  • 7/24/2019 8 Traduci Da

    119/122

    private int capacidad D / A

    private int Traveltime D 4 A

    GG constructor

    p!lico *scensor $% O

    2003 Prentice Hall, Inc. Todos los derechos reservados.

    8.1$ Acerca de los objetos 7cont.

    aso 3

    pu!lic class *scensor O

    GG atri!utos

    private !oolean movimientoA

    private !oolean convocadoA

  • 7/24/2019 8 Traduci Da

    120/122

    privadoint currentloor D / A

    privadoint destinationloor D 2 A

    private int capacidad D / A

    private int Traveltime D 4 A

    GG asociada o!"etos

    privada elevator;oor levator;oorA

    privado levatorMutton elevatorMuttonA

    privado Campana campanaA

    GG constructor

    p!lico *scensor $% O

    2003 Prentice Hall, Inc. Todos los derechos reservados.

  • 7/24/2019 8 Traduci Da

    121/122

    8.1$ Acerca de los objetos 7cont.

    aso 4

    pu!lic class *scensor O

    GG atri!utos

    privado!oolean movimientoA

    private !oolean convocadoAprivadoint currentloor D / A

    privadoint destinationloor D 2 A

    privadoint capacidad D / A

    private int Traveltime D 4 A

    GG asociada o!"etos

    privada elevator;oor levator;oorA

  • 7/24/2019 8 Traduci Da

    122/122

    privado levatorMutton elevatorMuttonA

    privado Campana campanaA

    GG constructor

    p!lico *scensor $% O

    GG operaciones

    pu!lic voidpaseo $% O

    pu!lic void reuestlevator $ % O

    pu!lic void enterlevator $% O

    pu!lic void e5itlevator $% O

    pu!lic void departlevator $% O