Metodo di programmazione nel quale gli elementi software vengono considerati 'oggetti', con proprietà definite (es: la proprietà testo [Text]) e possono essere modificate attraverso metodi (es: se un testo è contenuto nella variabile Beta, si trasforma in grassetto con il metodo Beta.Bold = True) o funzioni (es: la funzione MyNumber = Asc('a') restituisce 97, il valore ASCII di 'a' e lo assegna alla variabile MyNumber).
Vi sono oggetti già definiti dal software (es: vari tipi di pulsanti, di finestre, di caselle testo...) ai quali basta modificare poche proprietà per personalizzarli (es: Button.Text == 'Chiudi' per assegnare un nuovo testo ad un pulsante), oppure è possibile definire nuovi oggetti. Il vantaggio consiste nella facilità con la quale gli oggetti possono essere trattati, inseriti, spostati, modificati semplicemente attraverso il loro nome, quello delle proprietà o dei metodi.