N.S.I. WorkSpace T-Th-A A.2 – Programmation objet : classes, attributs, méthodes, objets.

A.2 – Programmation objet : classes, attributs, méthodes, objets.

Categories:

Un exemple pour commencer à comprendre

Tout d’abord un objet doit être considéré comme un type abstrait de données particulier.

MONSIEUR JOURDAIN: Et comme l’on parle qu’est-ce que c’est donc que cela ?

MAÎTRE DE PHILOSOPHIE : De la prose.

MONSIEUR JOURDAIN : Quoi ! quand je dis: « Nicole, apportez-moi mes pantoufles, et me donnez mon bonnet de nuit », c’est de la prose ?

MAÎTRE DE PHILOSOPHIE : Oui, Monsieur.

MONSIEUR JOURDAIN : Par ma foi ! il y a plus de quarante ans que je dis de la prose sans que j’en susse rien, et je vous suis le plus obligé du monde de m’avoir appris cela.

« Le Bourgeois gentilhomme » de Molière, Acte II, scène 4
A l'instar de M Jourdain, utiliserions nous des objets sans que nous en sussions rien ! ?

Examinons un exemple

La bibliothèque « Tkinter » de Python permet de construire une Interface Graphique Utilisateur (GUI :
Graphical User Interface), c’est à dire une fenêtre dans laquelle nous pouvons placer différents
éléments (« widgets »).

Saisir le code suivant dans l’éditeur d’un EDI pour Python (Exemple Spyder), puis exécuter ces instructions.

from tkinter import *
fenetre = Tk()
fenetre.title("Ma fenêtre")
fenetre.geometry("300x100")
fenetre.mainloop()

Nous pouvons constater que « fenetre » est un objet de type ‘Tk’

fenetre = Tk() permet de déclarer un objet de type ‘Tk’.

Tk() est le constructeur.

Une fenêtre est caractérisé par :

  • un titre
  • une largeur et une hauteur

Ces caractéristiques constituent des ‘attributs‘ de l’objet ‘fenêtre’.

Les valeurs de ces attributs sont fixer (« set ») respectivement par :

  • la méthode ‘title()’
  • la méthode ‘geometry()’

Ces méthodes font partie des ‘transformateurs’.

Avec ‘Tk()’ et ‘mainloop()’ elles constituent une partie de l’interface du type abstrait appelé ‘Tk’.

Saisir le code suivant dans l’éditeur d’un EDI pour Python (Exemple Spyder), puis exécuter ces instructions.

from tkinter import *
fenetre = Tk() # création de la fenêtre principale
fenetre.title("Ma fenêtre")
fenetre.geometry("300x100")
texte = Label(fenetre, text="bonjour", fg="red")
texte.pack()
bouton = Button(fenetre, text="fermer", bg="yellow", command = fenetre.destroy)
bouton.pack(side = BOTTOM)
fenetre.mainloop()

De la même façon ‘texte’ est un objet de type ‘Label’ et ’bouton’ est un objet de type ‘Button’.

‘Label()’ et ‘Button()’ sont des méthodes de la catégorie « constructeur ».

‘Tk’, ‘Label’ et ‘Button’ sont des classes, c’est à dire des entités qui regroupent les attributs et les méthodes spécifiques à chacun des types d’objet qu’elles permettent de déclarer.

Pour aller plus loin avec tkinter…

Article sous licence << Cliquez pour plus d’informations <<