Concepts and paradigms of object-oriented programming | Synapse