Because the world itself is never 'at the world's edge' - the world is not in the world; it is the world.
If you have a reference to some actor in a variable called 'a' (for example) you can call 'a.atWorldEdge()'.
So using something like this would work?
< code omitted >
No. 'Animal' is a class, not something that can be at the edge of your world. You need an Animal object; an instance of the Animal class; an actor created from the Animal class or a subclass of Animal.
Animal animal = /** get a reference to an Animal object */;
if (animal.atWorldEdge()) // etc.
You need a specific animal object. But, since you will be calling 'atWorldEdge' from your Seagull and Seagull2 classes, the point here is moot.