а почему в мы возвращаем обьект типа return new Cat(); и return new Dog()