You are on page 1of 35

Progromocion Orienfodo o Objefos Z0

SUBCLASES E INTERFACES
Consfrucfores de Ios subcIoses (I)
Los consfrucfores no se heredon.
Cuondo se creo un objefo de uno subcIose se invoco o su
consfrucfor que o su ve; invoco impIcifomenfe oI consfrucfor sin
poromefros de su supercIose y su supercIose horo Io mismo y os
sucesivomenfe es decir se ejecufon primero Ios consfrucfores de
sus supercIoses y por Ifimo eI propio consfrucfor.
EgempIo:
Se define Io cIose X con un consfrucfor sin poromefros que muesfro eI
mensoje " Consfrucfor de Io cIose A" cuondo es invocodo.
Se define Io subcIose X que heredo de Io cIose X y que define un
consfrucfor sin poromefros que muesfro eI mensoje " Consfrucfor de Io
cIose A8" cuondo es invocodo.
Se define Io subcIose X que heredo de Io cIose X y que define un
consfrucfor sin poromefros que muesfro eI mensoje " Consfrucfor de Io
cIose A8C" cuondo es invocodo.
Se creo un objefo de Io cIose X y se observon Ios mensojes.
Progromocion Orienfodo o Objefos ZI
SUBCLASES E INTERFACES
public class A
{
public A () { System.out.println("Constructor de la clase A");}
}
public class AB extends A
{
public AB () { System.out.println("Constructor de la clase AB");}
}
public class ABC extends AB
{
public ABC () { System.out.println("Constructor de la clase ABC");}
}
public class MainClass
{
public static void main(String [] args)
{
ABC objetoABC = new ABC();
}
}
Consfrucfores de Ios subcIoses (II)
Definicion de Io supercIose X
Creocion de un objefo de
Io subcIose X
Definicion de Io subcIose X
Definicion de Io subcIose X
Progromocion Orienfodo o Objefos ZZ
SUBCLASES E INTERFACES
Consfrucfores de Ios subcIoses (III)
Lo invocucin impIcitu deI constructor de Io supercIose se
reoIi;o siempre sobre eI constructor sin purmetros y por Io
fonfo es necesorio que Io supercIose dispongo de esfe fipo de
consfrucfor y esfo ocurre en dos cosos
Io cIose no define consfrucfores y por Io fonfo eI compiIodor Ie
proporciono un consfrucfor por defecfo (sin poromefros).
Lo cIose define expIcifomenfe un consfrucfor por defecfo.
Tombin se puede invocur de muneru epIcitu oI consfrucfor de
Io supercIose medionfe Io poIobro reservodo super.
Lo IIomodo oI consfrucfor de Io supercIose ufiIi;ondo super debe
ser Io primero Ineo deI codigo deI consfrucfor de Io subcIose.
identificadorSubclase (parmetrosConstructorSubclase)
{
super(parametrosConstructorSuperclase);
// cuerpo del constructor de la subclase
}
Progromocion Orienfodo o Objefos Z3
SUBCLASES E INTERFACES
Desfrucfores de Ios subcIoses (I)
Los desfrucfores (mfodos finalize) de Ios supercIoses no son
invocodos oufomoficomenfe como ocurre con Ios consfrucfores.
Lo invococion se debe hocer de monero expIcifo ufiIi;ondo Io
poIobro reservodo super.
EI Iugor mos idoneo poro invocor eI desfrucfor de uno supercIose
es Io Ifimo Ineo deI desfrucfor de Io subcIose.
EgempIo:
Se define Io cIose y se impIemenfo su desfrucfor de monero que
muesfro eI mensoje " FinoIi;e cIose X" cuondo es invocodo.
Se define Io subcIose Y que heredo de Io cIose y se impIemenfo su
desfrucfor poro que muesfre eI mensoje " FinoIi;e cIose XY" cuondo
es invocodo.
Se creo un objefo de Io cIose Y y despus se osigno o su referencio
eI voIor nuII poro converfirIo en "bosuro" que recogero eI recoIefor en
Io IIomodo for;odo que se hoce desde eI moin. Se observon Ios
mensojes.
Progromocion Orienfodo o Objefos Z4
SUBCLASES E INTERFACES
class X{
protected void finalize() { System.out.println("Finalize de la clase X");}
}
class XY extends X{
protected void finalize()
{
System.out.println("Finalize de la clase XY");
super.finalize();
}}
public class ClaseMain{
public static void main(String [] args)
{
XY objetoXY = new XY();
objetoXY = null;
System.runFinalization();
System.gc();
}}
Desfrucfores de Ios subcIoses (II)
Definicion de Io supercIose
Definicion de Io subcIose Y
Es posibIe que no seo necesorio IIomor o runFinoIi;ofion
Sysfem.gc() puede ser suficienfe
Progromocion Orienfodo o Objefos Zb
SUBCLASES E INTERFACES
Concepfo de inferfo; (I)
En custeIIuno uno /n!ct/u; cs un c/spos/!/vo o s/s!cmu uc
u!///;un cn!/cuccs /nconcus putu /n!ctuc!uut.
En Juvu fombin uno inferfo; es un meconismo que permife
inferocfuor o objefos no reIocionodos enfre s
En Jovo uno inferfo; es un conun!o cc ccc/utuc/oncs cc mc!ocos
s/n /mp/cmcn!uc/on y cons!un!cs, uc son /mp/cmcn!ucos
pos!ct/otmcn!c pot /us c/uscs.
Por Io fonfo en Jovo uno inferfo; consfifuye un pto!oco/o cc
compot!um/cn!o (ccc/utuc/oncs cc mc!ocos y cons!un!cs) que
!ocus /us c/uscs uc /o /mp/cmcn!cn ccDcn cc//n/t (codigo de Ios
mfodos) y uc comput!cn cc cutu u/ c!ct/ot.
Se consigue os uniformizur Io comunicocion enfre cierfos cIoses.
Progromocion Orienfodo o Objefos Zo
SUBCLASES E INTERFACES
Concepfo de inferfo; (I)
Uno cIuse que impIementu uno inferfo; heredu Ius decIuruciones
de Ios mfodos y debe proporcionur unu impIementucin poro
fodos eIIos (sIo es posibIe Io omisin de Io impIemenfocion de
uno oIguno o fodos Ios mfodos si Iu cIuse que impIementu Io
inferfo; es ubstructu).
Los consfonfes de Io inferfo; son occesibIes direcfomenfe desde
Ios cIoses que Io impIemenfon. Desde cIoses que no Io impIemenfon
se puede occeder con Io nofocion .
Progromocion Orienfodo o Objefos Z7
SUBCLASES E INTERFACES
Concepfo de inferfo; (II)
EI obgetivo de uno inferfo; es definir un protocoIo.
EgempIo: Por ejempIo se puede definir Io inferfo; "DibujobIe"
con Ios mfodos "fijorPosicion" y "dibujor" y fodos Ios cIoses que
impIemenfen esfo inferfo; mosfroron oI exferior Io copocidod de
fijor su posicion y de dibujorse.
Uno cIuse puede impIementur unu o vurius interfuces.
Poro especificor que uno cIose impIemenfo uno o mos inferfoces se
ufiIi;o Io poIobro reservodo implements seguido de Ios nombres de Ios
inferfoces seporodos por comos.
class nombreClase implements interface1, interface2
En Io decIorocion de uno cIose Io cIousuIo implements es posferior
o Io cIousuIo extends.
Progromocion Orienfodo o Objefos Z8
SUBCLASES E INTERFACES
Definicion de inferfo; (I)
Sinfoxis de decIorocion de uno inferfo;
[Modificadores] interface Identificador [SuperInterfaces] CuerpoInterface
Modificodores Ios nicos modificodores que puede fener uno
inferfo; son public y abstract.
public
uno infefoce decIorodo public es occesibIe desde fuero de su poquefe. Si
se omife esfe modificodor soIomenfe es occesibIe desde eI poquefe
donde esfo definido.
Codo inferfo; public debe ser definido en un fichero .jovo con eI mismo
nombre de Io inferfo;.
Mo es posibIe definir en un mismo fichero .jovo uno inferfo; pbIico y uno
cIose pbIico.
abstract
uno inferfo; es impIcifomenfe obfrocfo. EI modificodor abstract esfo
permifido pero no es obIigoforio.
Progromocion Orienfodo o Objefos Z9
SUBCLASES E INTERFACES
Definicion de inferfo; (II)
Idenfificodor
Es eI nombre de Io inferfo;. Debe ser un idenfificodor voIido en Jovo.
Superinferfoces
OpcionoI especifico que Io inferfo; es uno exfension de ofros. Uno
inferfo; que exfiende o ofro heredo fodos sus mfodos y consfonfes.
Sinfoxis extends IdentificudoresSuperInterfuces
Uno inferfo; puede "exfender" o vorios inferfoces cuyos
idenfificodores se especificon seporodos por comos o confinuocion de
Io poIobro reservodo extends.
Cuerpo de Io inferfo;
Formodo por uno Iisfo de decIorociones de consfonfes y de mfodos
(sin impIemenfocion).
Todos Ios mfodos son impIcifomenfe public y abstract.
Todos Ios consfonfes son impIcifomenfe public final y static.
EI uso de modificodores es opcionoI.
Progromocion Orienfodo o Objefos 30
SUBCLASES E INTERFACES
inferfo; vs. cIose obsfrocfo (I)
Uno interfuz no puede impIementur ningn mtodo y uno cIose
obsfrocfo s puede.
Uno cIuse puede impIementur muchus interfuces pero sIo
puede tener unu supercIuse direcfo.
Uno inferfo; no es purte de Iu gerurquu de cIuses. CIoses
"inconexos" pueden impIemenfor Io mismo inferfo;.
Uno interfuz puede etender mItipIes interfuces.
Progromocion Orienfodo o Objefos 3I
SUBCLASES E INTERFACES
inferfo; vs. cIose obsfrocfo (II)
Mofocion UML poro cIoses obsfrocfos
MombreCIose
{obsfrocf}
MombreAfribufofipo

MombreMefodo(por)fipo

Progromocion Orienfodo o Objefos 3Z
SUBCLASES E INTERFACES
inferfo; vs. cIose obsfrocfo (II)
Mofocion UML poro inferfoces
inferfoce
MombreInferfo;
MombreAfribufoConsfonfefipo VoIor

MombreMefodo(por)fipo

Progromocion Orienfodo o Objefos 33
SUBCLASES E INTERFACES
inferfo; vs. cIose obsfrocfo (II)
Mofocion UML poro cIoses que impIemenfon inferfoces (reIocion
de reuIizucin o impIementucin)
De monero "expIcifo"
De monero "impIcifo"
inferfoce
MombreInfero;
Mombrefipo

mefodo(por)fipo

MombreCIose
MombreInferfo;
MombreCIose
Mombrefipo

mefodo(por)fipo

Progromocion Orienfodo o Objefos 34
SUBCLASES E INTERFACES
inferfo; vs. cIose obsfrocfo (II)
SrobobIe
{obsfrocf}
{obsfrocf} grobor()void
Persono
grobor()
CrcuIo
grobor()
EgempIo: Los cIoses "Persono" y "CircuIo" semonficomenfe no
perfenecen o Io mismo jerorquo. Poro que ombos cIoses muesfren
eI comporfomienfo de poder grobor su esfodo en un fichero se
puede hocer de dos moneros
for;or o Ios cIoses o que perfene;con o Io mismo jerorquo creondo Io
supercIose comn "SrobobIe"
Progromocion Orienfodo o Objefos 3b
SUBCLASES E INTERFACES
inferfo; vs. cIose obsfrocfo (II)
Persono
grobor()void
CrcuIo
grobor()void
SrobobIe
definir Io inferfo; "SrobobIe" y que ombos cIoses Io impIemenen.
inferfoce
SrobobIe
grobor()void
Persono
grobobIe()void
CrcuIo
grobor()void
De monero impIcifo
De monero impIcifo
Progromocion Orienfodo o Objefos 3o
SUBCLASES E INTERFACES
Inferfoces y poIimorfismo (I)
En cuonfo oI poIimorfismo Ios referencius de un tipo interfuz se
comporfon de Io mismo monero que Ios referencios o Ios cIoses
obsfrocfos. Uno referenciu u unu interfuz esperu contener uno
referenciu u cuuIquier cIuse que impIemente dichu interfuz y
en fiempo de ejecucion eI poIimorfismo funciono de Io mismo
monero que en Ios cIoses obsfrocfos.
EgempIo:
Se define uno inferfo; /uTn!ct/ucc con dos mfodos mc!oco1 y
mc!ocoZ,
Se definen fres cIoses inconexos /usc1 /uscZ y /usco que
impIemenfon /uTn!ct/ucc.
Se define un vecfor de referencios o Io inferfo; y se osignon o Ios
eIemenfos deI vecfor referencios o objefos de Ios fres cIoses (es
posibIe porque impIemenfon Io mismo inferfo;) y se compruebo eI
poIimorfismo.
Progromocion Orienfodo o Objefos 37
SUBCLASES E INTERFACES
Inferfoces y poIimorfismo (II)
public interface LaInterface
{
public abstract String metodo1();
public abstract String metodo2();
}
public class Clase1 implements LaInterface
{
public String metodo1() { return "metodo1 de Clase1"; }
public String metodo2() { return "metodo2 de Clase1"; }
}
public class Clase2 implementes LaInterface
{
public String metodo1() { return "metodo1 de Clase2"; }
public String metodo2() { return "metodo2 de Clase2"; }
}
public class Clase3 implementes LaInterface
{
public String metodo1() { return "metodo1 de Clase3"; }
public String metodo2() { return "metodo2 de Clase3"; }
}
Definicion de /uTn!ct/ucc
Definicion de /usc1
Definicion de /uscZ
Definicion de /usco
Progromocion Orienfodo o Objefos 38
SUBCLASES E INTERFACES
Inferfoces y poIimorfismo (III)
public class MainClass
{
public static void main(String [] args)
{
LaInterface[] vector = new LaInterface[3];
vector[0] = new Clase1();
vector[1] = new Clase2();
vector[2] = new Clase3();
for (int i = 0; i<3; i++)
{
System.out.println(vector[i].metodo1());
System.out.println(vector[i].metodo2());
}
}
}
DecIorocion de un vecfor de referencios
o Io inferfo; /uTn!ct/ucc
Comprobocion deI poIimorfismo
Asignocion o Ios eIemenfos deI vecfor de
referencios o Ios cIoses /usc1 /uscZ y /usco
Progromocion Orienfodo o Objefos 39
SUBCLASES E INTERFACES
Inferfoces y poIimorfismo (IV)
EgempIo Z:
Pinsese en Io codificocion Jovo deI siguienfe diogromo de cIoses
CIoseAbsfrocfo
{obsfrocf}
{obsfrocf} mefodoI()void

{obsfrocf} mefodon()void
SubcIoseI SubcIoseZ SubcIose3
inferfo;
Inferfo;
mefodoI()void

mefodon()void
Progromocion Orienfodo o Objefos 40
SUBCLASES E INTERFACES
Inferfoces y poIimorfismo (IV)
Uno referenciu u unu interfuz esperu referencior o un obgeto
cuyu cIuse impIemente dicho inferfo; pero Iogicomenfe desde
Iu referenciu uI obgeto sIo se fendro ucceso o Ios mfodos y
consfonfes decIurudos en Iu interfuz.
EgempIo:
Se define uno inferfo; con idenfificodor /uTn!ct/ucc con dos
mfodos mc!oco1 y mc!ocoZ,
Se define Io cIose /usc1 que impIemenfo /uTn!ct/ucc y odemos fiene
un mfodo propio de Io cIose.
Se define uno voriobIe de fipo /uTn!ct/u; se Ie osigno un objefo de
Io cIose /usc1 y se invoco oI mfodo propio de Io cIose poro
comprobor que en fiempo de compiIocion se genero un error yo que se
infenfo IIomor o un mfodo no definido en Io inferfo;.
Progromocion Orienfodo o Objefos 4I
SUBCLASES E INTERFACES
Inferfoces y poIimorfismo (V)
public interface LaInterface
{
public abstracta String metodo1();
public abstracta String metodo2();
}
public class Clase1 implementes LaInterface
{
public String metodo1() { return "metodo1 de Clase1"; }
public String metodo2() { return "metodo2 de Clase1"; }
public String metodoPropio() { return "metodo propio de Clase1"; }
}
public class MainClass
{
public static void main(String [] args)
{
LaInterface objetoClase1 = new Clase1();
System.out.println(objetoClase1.metodoPropio());
}
}
Definicion de /uTn!ct/ucc
Definicion de /usc1
EPPOP de
compiIocion
Progromocion Orienfodo o Objefos 4Z
SUBCLASES E INTERFACES
Lo inferfoces no pueden crecer ...
Si se define uno inferfo; y posodo eI fiempo cuondo yo hoy
codigo ufiIi;ondo dicho inferfo; se Ie quiere ohodir uno nuevo
funcionoIidod no hoy que hocerIo en Io propio inferfo; porque
enfonces Ios cIoses que Io impIemenforon dejoron de funcionor yo
que Io nuevo funcionoIidod (Ios nuevos mfodos) no esfo
impIemenfodo.
Poro evifor esfo si se quiere ohodir mos funcionoIidodes o uno
inferfo; es mejor exfenderIo.
De eso monero se fendro dos versiones deI inferfo;
Ios cIoses yo codificodos seguiron impIemenfondo correcfomenfe Io
version onfiguo
Ios cIoses que se codifiquen pueden eIegir enfre Io version onferior o
Io exfendido.
Progromocion Orienfodo o Objefos 43
SUBCLASES E INTERFACES
Lo inferfoces no pueden crecer ...(ejempIo I)
EgempIo:
Supongose que se ho codificodo uno inferfo; de nombre Tn!1 con Ios
mfodos vo/c mos!tutmcnsucc!t/ng} vo/c mos!tutcu/uco}
vo/c mos!tutDcspcc/cu}
Supongose fombin que yo hoy uno cIose m/Tn!1 que impIemenfo eso
inferfo;.
Supongose que ohoro se decide que nuevos cIoses (por ejempIo
m/ucvoTn!1 ) que podron impIemenfor Tn!1 necesiforon un mfodo
mos vo/c mos!tutcu/ucomcnsucDcspcc/cuc!t/ng}.
Si se ohode eI mfodo o Tn!1 Io cIose m/Tn!1 sero incorrecfo hosfo
que se impIemenforo en eIIo eI nuevo mfodo.
Uno oIfernofivo es definir uno nuevo inferfo; (ucvoTn!1) que ohodo
eI nuevo mfodo. En esfe coso Ios cIoses onferiores siguen esfondo
correcfomenfe codificodos y Ios nuevos pueden decidir qu version
impIemenfor. En nuesfro coso m/ucvoTn!1 impIemenfo ucvoTn!1.
Progromocion Orienfodo o Objefos 44
SUBCLASES E INTERFACES
Lo inferfoces no pueden crecer ...(ejempIo II)
EgempIo:
Lo semonfico onferior puede represenforse medionfe eI siguienfe
diogromo UML
inferfoce
InfI
mosfrorMensoje(Sfring)void
mosfrorSoIudo()void
mosfrorDespedido()void
MiInfI
inferfoce
MuevoInfI
mosfrorSoIudoMensojeDespedido(Sfring)void
MiMuevoInfI
Progromocion Orienfodo o Objefos 4b
SUBCLASES E INTERFACES
interface Int1
{
final int a = 4;
public final int b = 40;
int c = 400;
final int d = 4000;
public void mostrarMensaje(String mensaje);
public void mostrarSaludo();
public void mostrarDespedida();
}
interface NuevoInt1 extends Int1
{
public void mostrarSaludoMensajeDespedida(String mensaje);
}
Lo inferfoces no pueden crecer ...(ejempIo III)
Inferfo; InfI mfodos
mosfrorMensoje
mosfrorSoIudo
mosfrorDespedido
Inferfo; MuevoInfI ohode eI mfodo
mosfrorSoIudoMensojeDespedido
Progromocion Orienfodo o Objefos 4o
SUBCLASES E INTERFACES
class MiInt1 implements Int1
{
public void mostrarMensaje(String
mensaje){System.out.println(mensaje);}
public void mostrarSaludo(){System.out.println("hola");}
public void mostrarDespedida(){System.out.println("adis");}
}
class MiNuevoIntl implements NuevoInt1
{
public void mostrarMensaje(String
mensaje){System.out.println(mensaje);}
public void mostrarSaludo(){System.out.println("hola");}
public void mostrarDespedida(){System.out.println("adis");}
public void mostrarSaludoMensajeDespedida(String mensaje)
{
mostrarSaludo();
mostrarMensaje(mensaje);
mostrarDespedida();
}
}
Lo inferfoces no pueden crecer ...(ejempIo IV)
Lo cIose MiInfI impIemenfo InfI
y codifico fodos sus mfodos
Lo cIose MiMuevoInfI
impIemenfo MuevoInfI que fiene
fombin eI mfodo nuevo
Progromocion Orienfodo o Objefos 47
SUBCLASES E INTERFACES
public class PrInterfaz1
{
public static void main (String [] args)
{
MiNuevoIntl intrfz = new MiNuevoIntl();
intrfz.mostrarSaludoMensajeDespedida("je je je");
}
}
Lo inferfoces no pueden crecer ...(ejempIo V)
moin de pruebo
Progromocion Orienfodo o Objefos 48
SUBCLASES E INTERFACES
ImpIemenfocion de mIfipIes inferfoces
Si uno cIose impIemenfo vorios inferfoces puede ocurrir que dos o
mos inferfoces definon mfodo con eI mismo idenfificodor. Los
cosos que pueden ocurrir son Ios siguienfes
Si Ios mfodos fienen eI mismo profofipo se impIemenfo un mfodo
con eI mismo profofipo (soIo uno ve;).
Si Ios mfodos difieren en eI nmero o fipo de poromefro
(sobrecorgo) se impIemenfon fodos Ios sobrecorgos.
Si Ios mfodos soIo difieren en eI fipo de reforno eI compiIodor
produce un error (dos mfodos de Io mismo cIose no pueden diferir
soIomenfe en eI fipo de reforno).
Si uno cIose impIemenfo dos inferfoces que definen uno consfonfe
deI mismo nombre en fiempo de compiIocion se genero un error.
Progromocion Orienfodo o Objefos 49
SUBCLASES E INTERFACES
EjempIo de inferfoces Jovo predefinidos (I)
Java.lang confiene Io inferfo; Comparable con soIo un mfodo
public int compareTo(Objecto)
Comporo eI orgumenfo impIcifo con eI expIcifo de formo que su
resuIfodo es eI siguienfe
Un entero negutivo si eI orgumenfo impIcifo es menor que eI expIcifo (o)
Cero si eI orgumenfo impIcifo es iguoI que eI expIcifo
Un entero positivo si eI orgumenfo impIcifo es menor que eI expIcifo
Java.util confiene Io cIose Collections que proporciono muchos
mfodos de cIose poro frobojor con diferenfes fipos de coIecciones.
Enfre eIIos eI mfodo sort que ordeno Io coIeccion siempre que fodos
sus eIemenfos impIemenfen Io inferfo; Comparable
A confinuocion se muesfro un ejempIo
Progromocion Orienfodo o Objefos b0
SUBCLASES E INTERFACES
EjempIo de inferfoces Jovo predefinidos (II)
EgempIo:
Los cIoses Fctsonu y //Dto (que no esfon reIocionodos por herencio)
impIemenfon Comparable y codificon eI mfodo compareTo.
Se creo dos ArrayList uno de personos (//s!u_pctsonus) y ofro de
Iibros (//s!u_//Dtos).
Se ordenon Ios dos Iisfos proporcionondoIos como orgumenfo oI
mfodo de cIose sort de Collections.
Se muesfro Ios resuIfodos cuondo se fomon Ios dofos de Io Ineo de
comondos.
Progromocion Orienfodo o Objefos bI
SUBCLASES E INTERFACES
public class Libro implements Comparable
{
public String titulo=null;
public Libro(){}
public Libro(String t)
{
titulo = t;
}
public int compareTo(Object o)
{
return this.toString().compareTo(o.toString() );
}
public String toString()
{
return this.titulo;
}
}
EjempIo de inferfoces Jovo predefinidos (III)
Lo cIose Libro impIemenfo eI inferfo;
ComporobIe
Codificocion deI mfodo comporeTo de
ComporobIe
Fichero Libro.jovo
Progromocion Orienfodo o Objefos bZ
SUBCLASES E INTERFACES
public class Persona implements Comparable
{
public String nombre=null;
public Persona(){}
public Persona(String n)
{
nombre = n;
}
public int compareTo(Object o)
{
return this.toString().compareTo(o.toString() );
}
public String toString()
{
return this.nombre;
}
}
EjempIo de inferfoces Jovo predefinidos (IV)
Lo cIose Persono impIemenfo eI inferfo;
ComporobIe
Codificocion deI mfodo comporeTo de
ComporobIe
Fichero Persono.jovo
Progromocion Orienfodo o Objefos b3
SUBCLASES E INTERFACES
import java.util.*;
public class PrInterfaces
{
public static void main (String [] args)
{
ArrayList lista_personas = new ArrayList();
ArrayList lista_libros = new ArrayList();
ListIterator li_personas = null;
ListIterator li_libros = null;
Persona p = null;
Libro l = null;
for (int i = 0; i<args.length/2 ; i++) {
p = new Persona(args[i]);
lista_personas.add(p);
}
for (int i = args.length/2; i<args.length ; i++) {
l = new Libro(args[i]);
lista_libros.add(l);
}
Collections.sort( lista_libros );
EjempIo de inferfoces Jovo predefinidos (V)
Se imporfo jovo.ufiI (donde esfo
ArroyLisf y CoIIecfions)
Creocion de Ios coIecciones de Iibros y
personos (Iisfo_personos y Iisfo_Iibros)
Fichero Persono.jovo
Se guordon Io mifod de Ios orgumenfos de
enfrodo en Io coIIeccion de personos
Y Io ofro mifod en Io de Iibros
Progromocion Orienfodo o Objefos b4
SUBCLASES E INTERFACES
Collections.sort( lista_libros );
Collections.sort( lista_personas );
System.out.println("LISTA DE LIBROS");
li_libros = lista_libros.listIterator();
while (li_libros.hasNext())
{
System.out.println(li_libros.next());
}
System.out.println("LISTA DE PERSONAS");
li_personas = lista_personas.listIterator();
while (li_personas.hasNext())
{
System.out.println(li_personas.next());
}
}
}
EjempIo de inferfoces Jovo predefinidos (V)
Se ordenon Ios dos coIecciones
Se muesfro por Io soIido esfondor Ios
dos Iisfos
Fichero Persono.jovo

You might also like