When you see ‘trojan’ think Trojan horse - you let the bad guys inside usually by falling for a trick.
When you see ‘virus’ think cold. It self-replicates and spreads by contact (the network).
Okay, so tragan horse means you must let the attacker in. Virus gets in on its own. :)