No, the point of the factory pattern is to create an object that implements a particular interface (IAnimal) without knowing the class of the object. You can take a look at an example here.
Thank you for pointing this. I'm a Unity developer and in Unity we cannot use constructors at all (it breaks the engine). Plus, interfaces are sometimes anti-pattern (if not most of the time). This sometimes create confusion.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.