« Programmation Python/Programmation orientée objet pour les non-programmeurs » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Debrice (discussion | contributions)
Ajout d'un description de ce qu'est l'objet
Debrice (discussion | contributions)
indentation des titres pour séparer le code de la description des objets
Ligne 1 : Ligne 1 :
{{Programmation Python}}
{{Programmation Python}}
== La programmation orienté objet ==
== La programmation orienté objet ==
=== Le concept objet ===

Dans les environements de developpement informatique, il a fallut attendre assez longtemps pour voir emerger le concept de l'objet. Son apparition a permis la création de systemes beaucoup plus complexes mais aussi tres empreint de mimétisme. En effet, dans notre monde réel, nous somme tous entourés d'objet qui ont très souvent deux critères d'appréciation.
Dans les environements de developpement informatique, il a fallut attendre assez longtemps pour voir emerger le concept de l'objet. Son apparition a permis la création de systemes beaucoup plus complexes mais aussi tres empreint de mimétisme. En effet, dans notre monde réel, nous somme tous entourés d'objet qui ont très souvent deux critères d'appréciation.


=== Le critère descriptif ===
==== Le critère descriptif ====
Ce premier est universel, il contient toutes les caractéristiques qui décrivent l'objet. Nous prendrons comme exemple un dés, si nous avions à le décrire, nous dirions qu'il posséde 6 faces avec des chiffres allant de 1 à 6 sur chacunes d'elles, il est (souvent) de couleur rouge et de petite taille. Il serait possible de le décrire plus précisément, mais en réalité, indiquer qu'il est fait de bois, que les nombres sont représenter par une quantité de point qui leur est égal, qu'il dispose de coin arrondi... n'aurais pas été plus éloquent.
Ce premier est universel, il contient toutes les caractéristiques qui décrivent l'objet. Nous prendrons comme exemple un dés, si nous avions à le décrire, nous dirions qu'il posséde 6 faces avec des chiffres allant de 1 à 6 sur chacunes d'elles, il est (souvent) de couleur rouge et de petite taille. Il serait possible de le décrire plus précisément, mais en réalité, indiquer qu'il est fait de bois, que les nombres sont représenter par une quantité de point qui leur est égal, qu'il dispose de coin arrondi... n'aurais pas été plus éloquent.


=== Le critère d'interaction ===
==== Le critère d'interaction ====
le deuxième critère est celui d'interaction, il indique l'utilité de l'objet, les possibilités qu'il vous offre. Pour le dès nous pourions indiquer que celui-ci peut rouler, mais ce n'est pas son rôle. De même, dans certaines circonstance, celui-ci peu vous servir de cale, mais ici encore, nous nous éloignons du sujet. Objectivement, le dès à pour rôle de donner un nombre compris entre son minimum et son maximum (inclus) au hazard. D'ailleurs, on peu ajouter que cela arrive apres l'avoir lancé.
le deuxième critère est celui d'interaction, il indique l'utilité de l'objet, les possibilités qu'il vous offre. Pour le dès nous pourions indiquer que celui-ci peut rouler, mais ce n'est pas son rôle. De même, dans certaines circonstance, celui-ci peu vous servir de cale, mais ici encore, nous nous éloignons du sujet. Objectivement, le dès à pour rôle de donner un nombre compris entre son minimum et son maximum (inclus) au hazard. D'ailleurs, on peu ajouter que cela arrive apres l'avoir lancé.


=== l'héritage et l'implémentation ===
==== l'héritage et l'implémentation ====
Ici, nous avons décrit un objet, et il nous suffit de faire de même en informatique. Mais nous pourrions appronfondir la déscription en indiquant aussi que le dès est en fait dérivé d'un objet de base : le cube. ainsi nous pourrions dire que le dès :
Ici, nous avons décrit un objet, et il nous suffit de faire de même en informatique. Mais nous pourrions appronfondir la déscription en indiquant aussi que le dès est en fait dérivé d'un objet de base : le cube. ainsi nous pourrions dire que le dès :
* est un '''cube'''.
* est un '''cube'''.

Version du 26 août 2006 à 09:05

La programmation orienté objet

Le concept objet

Dans les environements de developpement informatique, il a fallut attendre assez longtemps pour voir emerger le concept de l'objet. Son apparition a permis la création de systemes beaucoup plus complexes mais aussi tres empreint de mimétisme. En effet, dans notre monde réel, nous somme tous entourés d'objet qui ont très souvent deux critères d'appréciation.

Le critère descriptif

Ce premier est universel, il contient toutes les caractéristiques qui décrivent l'objet. Nous prendrons comme exemple un dés, si nous avions à le décrire, nous dirions qu'il posséde 6 faces avec des chiffres allant de 1 à 6 sur chacunes d'elles, il est (souvent) de couleur rouge et de petite taille. Il serait possible de le décrire plus précisément, mais en réalité, indiquer qu'il est fait de bois, que les nombres sont représenter par une quantité de point qui leur est égal, qu'il dispose de coin arrondi... n'aurais pas été plus éloquent.

Le critère d'interaction

le deuxième critère est celui d'interaction, il indique l'utilité de l'objet, les possibilités qu'il vous offre. Pour le dès nous pourions indiquer que celui-ci peut rouler, mais ce n'est pas son rôle. De même, dans certaines circonstance, celui-ci peu vous servir de cale, mais ici encore, nous nous éloignons du sujet. Objectivement, le dès à pour rôle de donner un nombre compris entre son minimum et son maximum (inclus) au hazard. D'ailleurs, on peu ajouter que cela arrive apres l'avoir lancé.

l'héritage et l'implémentation

Ici, nous avons décrit un objet, et il nous suffit de faire de même en informatique. Mais nous pourrions appronfondir la déscription en indiquant aussi que le dès est en fait dérivé d'un objet de base : le cube. ainsi nous pourrions dire que le dès :

  • est un cube.
  • est de couleur rouge.
  • peut etre lancé pour renvoyer un nombre compris entre 1 et 6 (le nombre de face qui le compose).

puis expliquer que le cube :

  • est un volume géométrique a trois dimensions.
  • est constitué de 6 carrés.

puis bien sur qu'un carré :

  • est une figure géométrique a deux dimensions.


Et nous pourrions continuer précisant le terme dimensions mais dans notre cas ce n'est pas utile. Nous pouvons ainsi établir le schémas suivant : le dès hérite des caractéristiques du cube (c'est un cube). Mais on ne peut pas dire que le cube hérite des caractéristiques du carré. En effet, on indique bien qu'il est constitué de mais pas qu'il est et c'est la toute la différence, vous etes constitué de deux bras musclés mais vous n'êtes pas deux bras musclés (sauf si vous êtes déménageur... c'est une blague bien entendu, les déménageurs sont suffisement allègre pour ne pas lancer un avis de recherche sur ma tête)! Nous dirons donc que:

  • l'objet cube implémente l'objet surface carré
  • l'objet dès hérite de l'objet cube

Classes et objets

class MaClasse:
	# définir ici les méthodes
Exemple 1 : Exemple de classe


Constructeur, destructeur

class Complexe:
	def __init__(self, r, i):
		self.reel = r
		self.img = i
Exemple 2 : Classe avec constructeur


Encapsulation des données

Héritage

class Triangle(FormeGeometrique):
	def __init__(self):
		# Création d'un triangle
Exemple 4 : Classe héritant d'une autre

Polymorphisme