Я понимаю, что один класс может выдавать себя за другой, но в какой ситуации мне его использовать?Пожалуйста, дайте мне пример.
Ответ никогда не бывает. Метод, который делает это возможным, устарел в 10.5 и, очевидно, даже не существует в 64-битных сборках.