Quoted By:
>Flying
The flying type is both an indicator of the user's ability to fly and also a fighting style of high speed dives, air maneuvers, manipulation of air and wind, attacks from above in general. As such, all flying type pokémon have another type other than flying. The exception is Tornadus, which could be explained by the fact that it manipulates wind and air is its element.
>supereffective against grass and bug
Bugs and plants are among the main feeding habits of all birds (even though not all flying types are birds) and their control of air, sturdy beaks or claws along with the high speed they dive in, are quick to obliterate a bug's tough carapace or to rip through plants.
>supereffective against fighting
As I sad in the previous post, fighting types close quarter combat style is outmatched by the flying types, which attack from above and can't be easily reached by them.
>weak to Electric
Eletricity travels through air, making it easy for bolts and thunders to quickly outspeed and reach flying types, clipping their wings or whichever part they use to fly easily.
>weak to ice
Ice can easily freeze a flying type's wings or any part they use to fly, putting them down easily. Moreso, if ice types are launched through freezing the humidity in the air aswell .
>weak to rock types
Rocks are heavy and large, easily putting a flying type down if they hit. Moreso, a lot of rock attacks include them being launched or coming from above, which can reach flying types up in the air (rock slide, smack down, rock throw)
>ground ineffective against flying
Obviously, a ground based attack won't hit something that's always flying.