Virus: This type of malware is able to self-replicate, it is deployed once the user opens its host files- possibly in the form of an E-mail attachment. Once opened the virus will become a memory resident, once here it may access your electronic address book and send itself to your contacts spreading to other devices, the actual harm it can cause would involve using up your internet bandwidth and storage space. More maliciously it may be able to access your personal data by waiting for information to be written to your storage, but if the location is overfilled it would be able to read data from the neighbouring location.
Worm: A subclass of virus, it is able to do the same things, i.e. self-replicate. The key difference being the fact it does not need to have its host file opened.
Trojan: This is malware that cannot self-replicate. It gets deployed after a seemingly useful file is opened, once deployed it opens the 'back-door' to the computer and is able to harvest your network information, use your bandwidth and steal your personal information.