Java - uso correcto del cast en java

   
Vista:

uso correcto del cast en java

Publicado por cristian (2 intervenciones) el 15/04/2008 19:36:58
Bueno mi duda es la siguiente:
Hasta donde tengo entendido las interfaces en java describen lo q uno puede hacer con el conjunto de clases q implementaban dicha interfaz. (¿Esto escorrecto?) Y además las clases deben proveer el desarrollo de los métodos definidos en la interfaz.

Bien, supongamos q tengo una clase cA q implementa la interfaz iC, y que dicha clase ya posee algunos métodos definidos, además de los q hubo q definir para implementar la interfaz iC. Yo lo que quiero ahora es manejar un objeto de tipo iC.

Seria correcto hacer un cast al objeto definido como iC, para poder tener acceso a los métodos y propiedades de la clase cA, pero q no es posible accederlos siendo del tipo iC?

iC objeto = new iC;
( (cA) objeto)

Se q se puede hacer y q funciona, pero no se si es correcto. Porque es como si estubiera rompiendo la estructura e intentando acceder a algo q teoricamente no tendria q tener permiso.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:uso correcto del cast en java

Publicado por mario (622 intervenciones) el 15/04/2008 21:49:38
Mira es sencillo por ejemplo tienes la interfaz

public interface DAO {

public String getMessage();

}

public class DAOImpl implements DAO {
public String getMessage() {
return "hola impl" ;
}
}

ahora :

en un main

DAO dao= new DAOImpl();

System.out.println(dao.getMessage());

o cast

DAOImpl dao2= (DAOImpl)dao;

System.out.println(dao2.getMessage());

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:uso correcto del cast en java

Publicado por cristian (2 intervenciones) el 16/04/2008 05:32:41
a lo q yo apuntaba es a esto:

public interface DAO {

public String getMessage();

}

public class DTA implements DAO {
public String getMessage() {
return "hola impl" ;
}
public String getName(){
return "Mi Nombre";
}
}

ahora :

en un main, tengo un procedimiento al q le entra como parámetro una variable de tipo DAO, por ejemplo algo asi

public obtenerNombre(DAO variableDAO){
System.out.println((DTA)dao.getName());
}

Seria correcto hacer esto???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:uso correcto del cast en java

Publicado por Richard (22 intervenciones) el 27/05/2008 00:43:13
Cmo la superclase implementa la interface es correcto que hagas el cast a la interface, mas si los metodos que necesitas estan en la superclase haz el cast directamente a la superclase, pero si deseas manejar un objeto del tipo IC entonces haz el cast a la interface.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar