Anda di halaman 1dari 3

[MSICA] Bien, estoy en mi ejercicio donde veremos

ahora en prctica las interfaces. Recuerdas este cdigo, fue lo que vimos
en la sesin anterior cuando estuvimos platicando sobre herencia, ahora,
tengo este nuevo proyecto que le he nombrado interfaces, y he puesto
todas las clases anteriores calcetn, jeans, playera, principal, ropa, etctera. Aho
ra, segn lo que platicamos hace un
momento en la sesin es que podemos definir o podemos detectar ms bien,
cmo un producto o algunos productos se puede realizar alguna devolucin. Por ejempl
o,
imagnate que tenemos una nueva clase, una nueva clase que podemos
colocarle playera personalizada. En esta tienda lo que nosotros
hacemos en esta tienda, lo que se hace es que a una playera
personalizada t escoges la talla, el color, etctera,
y le agregan tu cuenta de Twitter, en la parte de atrs le agregan tu cuenta
de Twitter o le agregan un texto que t quieres que lleve, pero en general
le agregarn tu cuenta de Twitter. Entonces, esta playera personalizada
podra heredar tambin de mi clase ropa, porque tambin
tendr el mismo comportamiento. Pero, adicional voy a colocar aqu el
constructor que me est solicitando pero adicional esta playera
personalizada tiene pues la cuenta de Twitter como atributo, el Twitter que se c
olocar en la parte
trasera de la playera, le colocar string Twitter y voy a generar tambin
el getter y setter de esa variable. Vamos a darle okey, aqu y listo,
you hemos generado el Twitter. Bien, puedo colocar aqu
tambin que para que esta playera sea creada una playera
personalizada necesitaremos que pasen una cuenta de Twitter,
y esa cuenta de Twitter se estar pasando a nuestra variable general, nuestra
variable global que est ms arriba. Perfecto. Listo. you tenemos esta clase, you es
t lista,
you est definida y podemos decir que si es una playera cualquier playera,
s aceptamos devolucin. Si son unos jeans,
s aceptamos devolucin, si es un calcetn s aceptamos devolucin,
pero si es una playera personalizada no
aceptamos devoluciones. Ahora, recuerdas que tenamos
una familia pendiente, que es nuestra familia telfono,
nuestra clase telfono que aqu tiene
tambin como atributos un ID, tiene tambin un precio, aj, tiene tambin como
atributos una marca, y tiene como atributos un modelo. Bien, ahora vamos a gener
ar
getters y setters, clic derecho source generar getters
y setters, seleccionamos todo, aqu you est y tambin colocaremos
un constructor para este telfono. Vamos a poner telfono constructor y
le diremos que nos solicite un ID, nos solicite un precio, y nos solicite una ma
rca, una marca,
el modelo no es obligatorio. Sin embargo,
para este ejercicio lo colocaremos modelo, entonces ponemos nuestros this para I
D,
le pasamos el ID, this para precio, le pasamos el precio, this para marca,
le pasamos la marca, this para modelo, le pasamos el modelo. you est.
Listo. you tengo,
ahora faltan mis clases hijas de telfono. Que es smartphone, smartphone, smartpho
ne y telfono de hogar, una nueva clase,
telfono de hogar. Ah est telfono de hogar. Ahora en smartphone vamos
a aplicar la herencia del telfono y colocaremos
una variable adicional donde pues un smartphone puede tener
un tipo de SIM, un tipo de tarjeta SIM. Bien, vamos a ponerle su
constructor que nos est pidiendo, vamos a generar getters y setters
y tambin el constructor que nos est solicitando un constructor y
adems generamos un string SIM. you est. Ahora por aqu se lo ponemos al SIM. you est.
Muy bien. Ahora, nos falta el telfono de hogar. Telfono de hogar tendr una
variable adicional, que esto ser una variable booleana donde preguntaremos que si
es almbrico,
si el telfono es almbrico la variable booleana ser verdadera, si no es
almbrico la variable booleana ser falsa. Voy a colocar aqu extends telfono y ahora n
ecesitamos el nmero
constructor para esto y asignamos boolean almbrico. Vamos aqu this almbrico,
tal como lo estamos manejando, sale. No hay nada adicional. Listo. you tenemos n
uestras dos familias, tenemos la familia de telfono
y tenemos la familia de ropa. Recuerdas que hicimos nuestra
playera personalizada, hemos detectado que en la familia de ropa,
todas las prendas de ropa a excepcin de playera personalizada,
todas pueden ser devueltas. Por lo tanto, yo puedo crear
un mtodo a hacer devolucin, pero no lo debe tener
playera personalizada. Lo mismo para los telfonos, todos los telfonos pueden ser e
n
algn momento dado tambin devueltos. Ahora para crear mi interfaz,
y definir este mtodo hacer devolucin voy a dar
clic derecho new y ahora, en vez de crear una clase,
crear una interface, una interface. Colocar el nombre de la interface,
comnmente colocamos anteponiendo anteponemos la i donde indicamos que es
una interfaz, y puede llamarse devolucin. Listo, you tenemos nuestra inter y
lo nico que debe tener definida la interfaz son los mtodos,
la definicin del mtodo. Public void hacer devolucin donde dependiendo de cada prend
a o de cada producto, ser la implementacin
que le demos a esa devolucin. Por ejemplo a lo mejor la ropa,
los calcetines o no se algn producto debe tener ciertas caractersticas
para ser devuelto, no se, un telfono tambin debe cumplir con
ciertas caractersticas que son distintas a la de una prenda de ropa
para ejecutar una devolucin. Yo puedo implementar
la interfaz devolucin en cada clase, comenzando por playera. Puedo poner extends
ropa implements, y devolucin. Y qu pasa? Me est solicitando que
implemente los mtodos. Cuando yo defino un
mtodo de una interfaz, no debe tener ni una sola lnea de cdigo. Por lo tanto cuando
implemento
esta interfaz en una clase es obligatorio sobreescribir el mtodo. Es obligatorio
traerlo para
colocarle funcionalidad. Yo puedo poner devolucin de una playera. Y as mismo puedo
estar
implementando esta interfaz en todas mis prendas, sin afectar a la
prenda que no tiene que ser devuelta. Pueden implementarlo, implementamos
el mtodo y devolucin de jeans. Me faltan los calcetines, puedo poner implements y
devolucin
y tambin los implemento. Aqu ponemos devolucin de calcetines. Ahora me paso a la ot
ra familia,
a los telfonos. you viste cmo puedo implementar las
interfaces en diferentes familias. Esta es la clave de las interfaces,
vamos a implementar el mtodo hacer devolucin de un smart phone y por ltimo el telfon
o de hogar. Implements y devolucin,
el telfono del hogar. Implementamos el mtodo y le colocamos un comportamiento,
telfono del hogar. Listo, ahora en mi clase principal puedo
probar todas estas implementaciones. Voy a crear ahora una playera,
pero una playera personalizada. Playera personalizada y debe tener
una ID y le vamos a poner 4. El costo de esta playera es ms cara. Una talla, le p
odemos poner M. Un color, puede ser el color negro. Y la cuenta de Twitter que d
ebe de llevar
esa playera, vamos a poner arroba anncode punto y coma. De la misma forma que co
n la otra playera,
puedo llamar a su mtodo mostrar datos. Mostrar datos y le pondremos playera de, y
tambin si en un momento yo
quiero devolver cualquier producto puedo poner playera
punto hacer devolucin. Puedo ejecutar una devolucin de playera,
puedo ejecutar una devolucin de jeans. Pero no puedo hacer una devolucin de player
a personalizada. De la misma forma si yo
declaro un smart phone. [AUDIO EN BLANCO] Puedo colocarle su ID, su precio, su m
arca, su modelo, tiene i, y tiene una tarjeta SIM. Podemos poner que sea de algu
na
telefnica, as se llama la telefnica, por no decir alguna marca de telefnica,
de compaa telefnica. Y en el smart phone puedo tambin aqu devolverlo, y lo mismo suce
der
si quiero devolver un telfono. Entonces para eso me
funcionan las interfaces, cuando yo corro esto puedo ejecutar
una devolucin de una playera, una devolucin de jeans y una
devolucin de smart phones, pero no me permite hacer una devolucin
de una playera personalizada. De esta forma puedo ocupar las
interfaces para sobreescribir mtodos en diferentes niveles de la jerarqua. [MSICA]
[MSICA]

Anda mungkin juga menyukai