het object-georiënteerd programmeren; ieder object heeft zijn eigen variabelen, functies en procedures die elk geprogrammeerd kunnen worden. Voordeel van deze virtuele opzet is dat objecten zowel abstract als concreet kunnen zijn, waardoor de vrijheid van het programmeren is toegenomen. Overigens worden alleen die eigenschappen van objecten geprogrammeerd die nodig zijn voor het goed verlopen van een bepaald programma.