Hola gente...
Estoy leyendo un libre de JAva, y habla de las clases FINAL..
Y dice que las clases FINAL, se establecen FINAL, para que no puedan ser heredadas de ninguna otra clase...
pero.. Si sos un programador, y estas programando TU programa.. y no queres que se herede una clase.. simplemente:
NO HEREDES...
Entonces... leo que dice el libro:
"En algunas ocasiones, es necesario evitar que alguien contruya una sublase a partir de una de nuetras clases."
Pero... QUE LOCURA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Si no queres que una clase creada POR VOS, sea heredada, entoces NO ESCRIBAS EXTENDS en inguna otra clase Y LISTO!!!!!!
¬¬
O demos el 2º caso de ésto:
EL libro dice así MISMO:
"¿Que ocurre si intentamos refundir en un puinto de una cadena de herencia y estamos "mientiendo" acerca de lo que contiene un objeto?"
Y dan éste ejemplo:
Administrador jefe = (Administrador) persona[1]; //(ésto daría error)
Y recomiendan ahcer ésto para evitar que "catcheemos" mal a una clase:
if ( persona[1] instanceof Administrador ){
jefe = (administracion) personal[1];
}
O sea....
Ese codigo lo que hace, es corroborar si estamos "chatcheando" bien.. sino, no hace lo que queremos..
Pero..
COMO NO VOY A SABER QUE TIPO O NOMBRE DE CLASE ES LA QUE ESTOY CREANDO, SI YO MISMO HE CREADO AL PROGRAMA?!?!?!?!?
Estoy leyendo un libre de JAva, y habla de las clases FINAL..
Y dice que las clases FINAL, se establecen FINAL, para que no puedan ser heredadas de ninguna otra clase...
pero.. Si sos un programador, y estas programando TU programa.. y no queres que se herede una clase.. simplemente:
NO HEREDES...
Entonces... leo que dice el libro:
"En algunas ocasiones, es necesario evitar que alguien contruya una sublase a partir de una de nuetras clases."
Pero... QUE LOCURA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Si no queres que una clase creada POR VOS, sea heredada, entoces NO ESCRIBAS EXTENDS en inguna otra clase Y LISTO!!!!!!
¬¬
O demos el 2º caso de ésto:
EL libro dice así MISMO:
"¿Que ocurre si intentamos refundir en un puinto de una cadena de herencia y estamos "mientiendo" acerca de lo que contiene un objeto?"
Y dan éste ejemplo:
Administrador jefe = (Administrador) persona[1]; //(ésto daría error)
Y recomiendan ahcer ésto para evitar que "catcheemos" mal a una clase:
if ( persona[1] instanceof Administrador ){
jefe = (administracion) personal[1];
}
O sea....
Ese codigo lo que hace, es corroborar si estamos "chatcheando" bien.. sino, no hace lo que queremos..
Pero..
COMO NO VOY A SABER QUE TIPO O NOMBRE DE CLASE ES LA QUE ESTOY CREANDO, SI YO MISMO HE CREADO AL PROGRAMA?!?!?!?!?
porque, por ejemplo, si creo METODOS static's... no tendria que ser necesario agregar la clase.. en fin...)))