Em um jogo de estratégia online, você tem diferentes classes de personagens, como "Guerreiro" e "Mago", que herdam de uma classe base chamada "Personagem". A classe base possui um método chamado "ExecutarHabilidade", que funciona de maneira diferente quando chamado por um personagem guerreiro em comparação com um personagem mago.
Considerando princípios de programação orientada a objetos, assinale a abordagem mais adequada para implementar essa diferenciação.