0% ont trouvé ce document utile (0 vote)
2 vues7 pages

POO Python

La programmation orientée objet (POO) repose sur la modélisation de classes et d'objets, utilisant UML pour représenter les entités. En Python, la création d'une classe nécessite la déclaration, l'utilisation d'un constructeur et l'instanciation d'objets, avec des exemples illustrant la modélisation d'un point géométrique et l'héritage entre classes. L'héritage permet à une classe d'hériter des propriétés d'une classe préexistante, comme dans le cas des classes 'Personne', 'Etudiant' et 'Enseignant'.

Transféré par

Sami KHEMIRI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues7 pages

POO Python

La programmation orientée objet (POO) repose sur la modélisation de classes et d'objets, utilisant UML pour représenter les entités. En Python, la création d'une classe nécessite la déclaration, l'utilisation d'un constructeur et l'instanciation d'objets, avec des exemples illustrant la modélisation d'un point géométrique et l'héritage entre classes. L'héritage permet à une classe d'hériter des propriétés d'une classe préexistante, comme dans le cas des classes 'Personne', 'Etudiant' et 'Enseignant'.

Transféré par

Sami KHEMIRI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation orientée objet (POO)

Programmation orientée objet (POO)

Définition
La programmation orientée objet se base sur la modélisation des classes et objets suivant
le formalisme UML (Unified Modeling Language )
La modélisation objet consiste à créer une représentation abstraite, sous forme d'objets,
d'entités ayant une existence matérielle (arbre, personne, téléphone, ...) ou bien virtuelle
(sécurité sociale, compte bancaire, ...).
Un objet est une entité qui va pouvoir contenir un ensemble de fonctions et de variables
(attributs).

I-Modélisation UML :

Une classe se représente avec UML sous forme d'un rectangle divisé en trois sections.
Le premier contient le nom donné à la classe (non souligné). Les attributs d'une classe
sont définis par un nom, un type (éventuellement une valeur par défaut, c'est-à-dire une
valeur affectée à la propriété lors de l'instanciation) dans le second compartiment. Les
opérations sont répertoriées dans le troisième volet du rectangle.

1|Page Hazar BOUZOURRA


Programmation orientée objet (POO)

Classes :
On appelle classe la structure d'un objet, c'est-à-dire la déclaration de l'ensemble des
entités qui composeront un objet.

Objet : est une instanciation d'une classe, c'est la raison pour laquelle on pourra
parler indifféremment d'objet ou d'instance (éventuellement d'occurrence).

Une classe est composée :

• D’attributs (propriétés) : il s'agit des données, dont les valeurs représentent


l'état de l'objet

• Les méthodes : il s'agit des opérations applicables aux objets


II-Les classes et les objets en Python

II.1 Déclaration d’une classe : notions de constructeur et d’attributs

Dans le langage Python, la création d’un objet de classe nécessite ces étapes :

1. Déclaration à l'aide l'instruction class


2. Déclaration du constructeur par la méthode __init__ ()
3. Affectation des paramètres aux attributs via l'instruction self
4. Instanciation (voir l’exemple suivant)

II.2 Construction d’une instance de Point géométrique

➢ A partir de cet exemple, on se propose de modéliser un point géométrique. On


crée la classe Point ayant pour attributs les coordonnées x et y et comme
méthodes, les fonctions suivantes : déplacer un point ou mesurer une distance
entre deux points etc.
➢ Après, on crée les objets point_1 et point_2 qui présentent les instances de la
classe Point.

2|Page Hazar BOUZOURRA


Programmation orientée objet (POO)

Point
X (abscisse du point)
Y (ordonnée du point)

deplacer ()
distance ()

3|Page Hazar BOUZOURRA


Programmation orientée objet (POO)

4|Page Hazar BOUZOURRA


Programmation orientée objet (POO)

III- Héritage

En programmation, l'héritage est la capacité d'une classe d'hériter des propriétés d'une
classe pré-existante. On parle de classe mère et de classe fille.

Exemple :
❖ Créer une classe « Personne » avec les attributs (firstname, age) qui sait dire
‘Salut’ : méthode ‘direSalut()’.

❖ Créer une classe « Etudiant » et une autre classe « Enseignant ». Les deux
héritent la classe « Personne ».

❖ La classe « Etudiant » aura un nouvel attribut ‘fclasse’ et deux méthodes. La


méthode ‘ Afficher_identite()’ qui affiche l’identité de l’étudiant et la
méthode « etudier() », qui affichera à l’écran « Je vais étudier à l’université ».

❖ La classe « Enseignant » aura une méthode « Expliquer () », qui affichera à


l’écran « L’explication du cours a commencé ».

Personne
Fname
Age
Dire_salut()

Etudiant Enseignant
fclasse
Afficher_Identite()
Etudier() Expliquer()

5|Page Hazar BOUZOURRA


Programmation orientée objet (POO)

❖ Créer un objet Etudiant, définir son nom, son âge et sa filière, par
exemple ‘Adem','15 ans’, ‘filière Géomatique.
Faites-lui dire « Salut », afficher son identité et « Je vais étudier à
l’Université. ».
❖ Créer un objet Enseignant, demandez-lui de dire « salut » puis de
commencer l’explication.

Résultat :

6|Page Hazar BOUZOURRA


Programmation orientée objet (POO)

Script Python

#classe Personne
class Personne:
#constructeur
def __init__(self,fname ,age):
#attributs
[Link] = fname
[Link] = age
#Méthode

def direSalut(self):
print('Salut')
#héritage
#classe Etudiant
class Etudiant (Personne):
#Constructeur
def __init__ (self, fname,age, fclasse):
Personne.__init__(self, fname, age)
[Link] = fclasse
#----------------------------------------------------------------------
# Méthodes
def Afficher_Identite(self):
print('Je suis :','{} {} {}'.format([Link],[Link],[Link]))
def Etudier(self):
print('je vais étudier à l université ')

class Enseignant(Personne):
# Constructeur
def __init__(self, fname,age):
Personne.__init__(self, fname, age)

def Expliquer(self):
print('L explication du Cours a commencé')

#-------------------------------------------------------------------
e=Etudiant('Adem','15 ans','filière Géomatique')
[Link]()
e.Afficher_Identite()
[Link]()

tech= Enseignant('Anis','35')
[Link]()
[Link]()

7|Page Hazar BOUZOURRA

Vous aimerez peut-être aussi