Eu li que quando seu programa precisa saber qual classe é um objeto, geralmente indica uma falha de design, por isso quero saber qual é uma boa prática para lidar com isso. Estou implementando uma classe Shape com diferentes subclasses herdadas, como Circle, Polygon ou Rectangle e tenho algoritmos...