La programmation objets, de même que la programmation visuelle et la programmation par évènements (clavier, souris...) changent beaucoup de choses par rapport à la programmation procédurale traditionnelle. On passe du découpage programmes/variables, en une structuration du monde via des objets, contenant à la fois des données (les variables) et des méthodes (programmes). Une classe d'objets est alors le moule qui décrit une famille d'objets ayant en gros les mêmes structures, les mêmes actions ou comportements. Les classes d'objets sont elles-mêmes structurées au sein d'une hiérarchie, ce qui permet de transférer par héritage ce qu'on fait dans une classe à une autre classe, ce qui évite aussi de dupliquer le code et ce qui facilite au passage le masquage ("encapsulation" du code).
La programmation objets "forte" consiste à réfléchir pour créer des classes et leur hiérarchie. La programmation objets "faible" consiste à savoir utiliser des objets déjà existants comme les fenêtres, les boites de dialogues (ouverture de fichier, impression..). La programmation orientée objets est celle qui utilise un langage non objets avec des "bricolages" objets.
Ce cours, d'une cinquantaine de pages essaie, au travers de langages comme Turbo Pascal Windows (Delphi), Dbase Windows (Db2k) et SmallTalk, de présenter les concepts fondamentaux de la programmation objets par des exemples concrets et complets. On lira ce texte en parallèle avec le cours sur les langages évènementiels et les interfaces utilisateurs.