Елементи теорії об’єктно-орієнтованого програмування