Programación orientada a objetos; tantas posibilidades como objetos querramos crear.

A diferencia de la programación estructurada, la programación orientada a objetos favorece a el uso de otros recurso de programación como el de la 'máquina virtual'.
Además el diseño se basa en objetos y clases a los que se les pueden implementar tantos atributos como métodos o acciones querramos o necesitemos.-