C'est très rare d'avoir besoin de connaître la classe en programmation objet. Si la conception est correcte, les objets doivent se traiter de façon transparente.
On ne fera pas
if (person.isMan()) {
person.slack();
} else {
person.ironClothes();
}
mais plutôt
person.doSomething();
Avec la méthode doSomething() effectuant la bonne action selon l'implémentation dans les classes en héritant/l'implémentant.
Man et Woman feront quelque chose de différent avec.