¿Hay alguna manera de averiguar el nombre de la clase derivada de una instancia de clase base?¿Cómo averiguar la subclase de la instancia de la clase base?
ej .:
class A{
....
}
class B extends A{
...
}
class c extends A{
...
}
ahora si un método devuelve un objeto de A
, puedo saber si es de tipo B
o C
?
Tenga en cuenta que [type sniffing] (http://www.javapractices.com/topic/TopicAction.do?Id=3) es un poco olor a código. No siempre es lo incorrecto, pero es el enfoque equivocado con la frecuencia suficiente como para que le eche un vistazo a su diseño. Si es posible, confíe en el polimorfismo (pero consulte también [Cuando el polimorfismo falla] de Steve Yegge (http://sites.google.com/site/steveyegge2/when-polymorphism-fails)). – outis