Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
30Activity
0 of .
Results for:
No results containing your search query
P. 1
Java 3

Java 3

Ratings:

5.0

(2)
|Views: 1,955 |Likes:
Published by api-25915597

More info:

Published by: api-25915597 on Oct 18, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/18/2014

pdf

text

original

8 : ln te rfa c e sy c la s e s in te rn a s
2 9 9
Las solucionesa determ inados ejercicios se encuentran en el docum entoT h e T h in k in g in J a v a A n n o ta te d S o lu tio n
G u id e , d is p o n ib lea b a jo c o s te e nh ttp ://w w w .B r u c e E c k e l.c o r n .
P ro b a r q u e lo s m \u00e9 to d o s d e u n ain te r fa z s o n im p l\u00edc ita m e n tee s t \u00e1 t i c o s yc o n s t a n t e s .
C rear una in te r fa z que contenga tres m \u00e9todos en su propiop a q u e te . Im plem entar la interfaz
en unp a q u e t e diferente.
Probar que todos los m \u00e9todos de una in te r fa zs o n a u to m \u00e1 tic a m e n te p \u00fa b lic o s .
Enc 0 7 :B o c a d illo .ja v a , crear una interfaz denom inadaC o m id a R a p id a (con m \u00e9todos apro-
piados) y cam biar B o c a d illod e fo rm a q u e ta m b i\u00e9 n im p le m e n te C o m id a R a p id a .

C rear tresin te r fa c e s , cada uno con dos m \u00e9todos. H eredar una nueva in te r fa z d e las tres, a\u00f1a- diendo un nuevo m \u00e9todo. C rear una clase im plem entando la nueva in te r fa z y heredando ade- m \u00e1s de una clase concreta. A hora escribir cuatro m \u00e9todos, cada uno d e los cuales tom a una de las cuatroin te r fa c e s com o par\u00e1m etro. E n el m \u00e9todo m a in () , c r e a r u n o b je to d e la n u e v a c la s eypas\u00e1rselo a cada uno d e los m \u00e9todos.

M odificar el E jercicio5 ,creando una clasea b s t r a c t ay hered\u00e1ndola en la clase derivada.
M odificarM u s ic a 5 .ja v a a\u00f1adiendo una in te r fa z T o c a b le .E lim in a r la d e c la ra c i\u00f3 n to c a r ()d e
Instrum ento.A \u00f1 a d ir T ocable a la s c la s e s d e riv a d a s in c lu y \u00e9 n d o lo e n la lis ta d e in te rfa c e s q u e
im plem enta.C am biar afinar()d e fo rm a q u e to m e u n T ocable en vez de un Instrum ento.
C a m b ia r e l E je rc ic io6 d e l C a p \u00edtu lo7 d e fo rm a q u e R oedor s e a u n ain te r fa z .
E n A v e n tu r a .ja v a , a\u00f1adir una in te r fa z denom inadaP u e d e T r e p a r siguiendo el m odelo d e las
otras interfaces.
E s c rib ir u n p ro g ra m a q u e im p o rte y u s e M es2.java.
Siguiendo el ejem plo de M es2.java, crear una enum eraci\u00f3n de los d\u00edas d e la sem ana.

C rear una in tc r fa z con al m enos un m \u00e9todo, en su propio paquete. C rear una clase en otro pa- quete. A \u00f1adir una clase internap r o te g id aq u e im p le m e n te la in te r fa z .En un tercer paquete, heredar de la nueva clase y, dentro de un m \u00e9todo, devolver un objeto de la clase internap r o -

te g id a ,haciendo un conversi\u00f3n hacia arriba a la in te r fa z durante este retorno.
C rear una in te r fa z con al m enos un m \u00e9todo, e im plem entar esa in te r fa z definiendo una clase
interna dentro de un m \u00e9todo, que devuelva una referencia a la in te r fa z .
R e p e tir e l E je rc ic io1 3 , p e ro d e fin ir la c la s e in te rn a d e n tro d e l \u00e1 m b ito d e u n m \u00e9 to d o .
R e p e tir e l E je rc ic io1 3 u tiliz a n d o u n a c la s e in te r n a a n \u00f3 n im a .
C rear una clase internap r iv a d aq u e im p le m e n te u n a in te r fa z p \u00fa b lic a . E s c rib ir u n m \u00e9 to d o
que devuelva una referencia a una instancia de la clase interna p r iv a d a ,hacer un conversi\u00f3n
3 0 0
P ie n s a e n J a v a
h a c ia a rrib a a lain te r fa z . M o s tra r q u e la c la s e in te r n a e s t\u00e1 to ta lm e n te o c u lta in te n ta n d o h a c e r
una, conversi\u00f3n hacia abajo de la m ism a.

C rear una clase con un constructor distinto del constructor por defecto, y sin \u00e9ste. C rear una segunda clase que tenga un m \u00e9todo que devuelva una referencia a la prim era clase. C rear el objeto a devolver haciendo una clase interna an\u00f3nim a que herede de la prim era clase.

C rear una clase con un atributop r iv a d oy u n m \u00e9 to d o p r iv a d o . C rear una clase interna con u n m \u00e9 to d o q u e m o d ifiq u e e l a trib u to d e la c la s e e x te r n a y lla m e a l m \u00e9 to d o d e la c la s e e x te r- na. En un segundo m \u00e9todo de la clase externa, crear un objeto de la clase interna e invocar a su m \u00e9todo, despu\u00e9s m ostrar el efecto en el objeto de la clase externa.

R e p e tir e l E je rc ic io1 8 u tiliz a n d o u n a c la s e in te rn a a n \u00f3 n im a .
C rear una clase que contenga una clase internaest\u00e1tica.E n e l m \u00e9 to d o m ain() ,crear una ins-
tancia de la clase interna.
C rear una in te r fa zque contenga una clase interna e s t\u00e1 tic a .Im plem entar esta in te r fa zyc r e a r
una instancia de la clase interna.

C rear una clase que contenga una clase interna que contenga a su vez otra clase interna. R epetir lo m ism o usando clases internase s t\u00e1 tic a . Fijarse en los nom bres de los archivos .c la s s producidos por el com pilador.

C rear una clase con una clase interna. En una clase separada, hacer una instancia de la clase
in te rn a .
C rear una clase con una clase interna que tiene un constructor distinto del constructor por de-
fecto. C rear una segunda clase con una clase interna que hereda de la prim era clase interna.
R eparar el problem ad eE rrorV ien tojava.

M odificar S e c u e n c ia .ja v a a\u00f1adiendo un m \u00e9todo obtenerR Selector() que produce una im- p le m e n ta c i\u00f3 n d ife re n te d e lain te r fa z S e le c to r que se m ueve hacia atr\u00e1s de la secuencia des- d e e l fin a l a l p rin c ip io .

C rear unain te r fa zUcon tres m \u00e9todos. C rear una claseA con un m \u00e9todo que produce una r d ~ r e r i c i aa1Jc o ~ i s t r u y e n d o u n a c l a s e i n t e r n a a ~ i \u00f3 i i i m a .C r e a r u n a s e g u n d a c l a s eB q u e c o n - tenga un array deU .Bdeber\u00eda tener un m \u00e9todo que acepte y alm acene una referencia aU en el array, un segundo m \u00e9todo que establece una referencia dentro del array (especificada por el par\u00e1m etro del m \u00e9todo) a n u ll,y un tercer m \u00e9todo que se m ueve a trav\u00e9s del array e invo- c a a lo s m \u00e9 to d o s d eU .En el m \u00e9todom a in () , crear un grupo de objetosAy un \u00fanicoB . R ellenar elB con referenciasU producidas por los objetosA . U tilizar elB para invocar de nue- v o a to d o s lo s o b je to sA .E lim inar algunas de las referenciasU deB .

E nC o n t r o l e s I n v e r n a d e r o . j a v a , a\u00f1adir clases internas E v e n to que enciendany apaguen ven-
tila d o re s .
M ostrar que una clase interna tiene acceso a los elem entosp r iv a d o s de su clase externa.
D eterm inar si tam bi\u00e9n se cum ple a la inversa.
9 : G u a rd a ro b je to s
Es un program a bastante sim ple que s\u00f3lo tiene una cantidad fija de objetos cu-
yos periodos de vida son conocidos.

En general, los program as siem pre estar\u00e1n creando nuevos objetos, en base a alg\u00fan criterio que s\u00f3lo se conocer\u00e1 en tiem po de ejecuci\u00f3n. No se sabr\u00e1 hasta ese m om ento la cantidad o incluso el tipo exacto de objetos necesarios. Para solucionar el problem a de program aci\u00f3n general, hay que crear cualquier n\u00fam ero de objetos, en cualquier m om ento, en cualquier sitio. Por tanto, no se puede confiar en crear una referencia con nom bre que guarde cada o b je to :

dado que, de hecho, nunca se sabr\u00e1 cu\u00e1ntas se necesitar\u00e1n.
Para solucionar este problem a tan esencial, Java tiene distintas m aneras de guardar los objetos (o
m e jo r, r e f e r e n c ia s a o b je to s ).E l tip o in c r u s ta d o e s e l a r-ra y , lo c u a l y a h e m o s d is c u tid o a n te r io r -
m e n te . A d e m \u00e1 s , la b ib lio te c a d e u tilid a d e s d e J a v a tie n e u n c o n ju n to ra z o n a b le m e n te c o m p le to d e
clases contenedoras (conocidas tam bi\u00e9n com o clases colecci\u00f3n, pero dado que las bibliotecas d e Java
2usan el nom bre C o lle c tio n para hacer referencia a un subconjunto particular d e la biblioteca,usa-
rem os el t\u00e9rm ino m \u00e1s gen\u00e9rico "contenedor"). Los contenedores proporcionan form as sofisticadas
de guardar e incluso m anipular objetos.
A rra y s
La m ayor\u00eda de la introducci\u00f3n necesaria a los arrays se encuentra en la \u00faltim a secci\u00f3n del C ap\u00edtulo4 ,

que m ostraba c\u00f3m o definir e inicializar un array. El prop\u00f3sito de este cap\u00edtulo e s el alm acenam iento de objetos,y un array es justo una m anera de guardar objetos. Pero hay m uchas otras form as de guar- dar objetos, as\u00ed que, \u00bfqu\u00e9 hace que un array sea ta ne s p e c i a l ?

H ay dos aspectos que distinguen a los arrays de otros tipos de contenedores: la eficiencia y el tipo. El array es la form a m \u00e1s eficiente que proporciona Java para alm acenar y acceder al azar a una secuencia de objetos (verdaderam ente, referencias a objeto). El array es una secuencia li- neal sim ple, que hace r\u00e1pidos los accesos a elem entos, pero se paga por esta velocidad: cuando se crea un objeto array, su tam a\u00f1o es lim itado y no puede variarse durante la vida de ese objeto array. Se podr\u00eda sugerir crear un array de un tam a\u00f1o particular y, despu\u00e9s, si se acaba el espa- cio, crear uno nuevo y m over todas las referencias del viejo al nuevo. \u00c9 ste es el com portam ien- to d e la clase A rrayL ist, que ser\u00e1 estudiada m \u00e1s adelante en este cap\u00edtulo. Sin em bargo, debido a la sobrecarga de esta flexibilidad de tam a\u00f1o, un A rrayL ist es m ucho m enos eficiente que un a rra y .

Activity (30)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Paty P. del Rio liked this
Niky Day B added this note
cual es el nombre del libro??? esta muy bien explicado
Jose Espinoza liked this
gustavo_arza liked this
Maria Acosta liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->