|
|
|
|
@@ -63,7 +63,7 @@ Le constructeur est une méthode(fonction) permettant d'initialiser votre type.
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
class Etudiant :
|
|
|
|
|
def __init__(self,nom_etu,prenom_etu,spe1_etu,age_etu) :
|
|
|
|
|
def __init__(self,nom_etu,prenom_etu,spe1_etu,age_etu) :
|
|
|
|
|
self.nom = nom_etu
|
|
|
|
|
self.prenom = prenom_etu
|
|
|
|
|
self.spe1 = spe1_etu
|
|
|
|
|
@@ -110,7 +110,7 @@ Supposons que l'étudiant change de spécialité. Bob voudrait arrêter de faire
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
def change_spe(self,nouvelle_spe) :
|
|
|
|
|
self.spe1 = nouvelle_spe
|
|
|
|
|
self.spe1 = nouvelle_spe
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
<u>Pour appeler la méthode :</u>
|
|
|
|
|
@@ -126,9 +126,9 @@ On pourrait créer une méthode *anniversaire* par exemple :
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
def anniversaire(self) :
|
|
|
|
|
self.age = self.age + 1
|
|
|
|
|
if self.age == 18 :
|
|
|
|
|
self.peut_avoir_son_permis = True
|
|
|
|
|
self.age = self.age + 1
|
|
|
|
|
if self.age == 18 :
|
|
|
|
|
self.peut_avoir_son_permis = True
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Si l'anniversaire de l'étudiant passe, alors il gagne 1 an et s'il a 18 ans alors il est éligible au permis de conduire.
|
|
|
|
|
@@ -137,7 +137,7 @@ Imaginons maintenant qu'il soit possible d'avoir une nouvelle spécialité.
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
def nouvelle_spe(self,new_spe):
|
|
|
|
|
self.spe2 = new_spe
|
|
|
|
|
self.spe2 = new_spe
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
@@ -169,7 +169,7 @@ Actuellement il est impossible de faire la même chose avec nos étudiants. C'es
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
def __eq__(self,obj2):
|
|
|
|
|
return self.spe1 == obj2.spe1
|
|
|
|
|
return self.spe1 == obj2.spe1
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Cette méthode propre à python permet d'effectuer l'opération suivante.
|
|
|
|
|
@@ -222,7 +222,7 @@ En utilisant des types privés il n'est plus possible d'accéder directement aux
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
class Etudiant :
|
|
|
|
|
def __init__(self,nom_etu,prenom_etu,spe1_etu,age_etu) :
|
|
|
|
|
def __init__(self,nom_etu,prenom_etu,spe1_etu,age_etu) :
|
|
|
|
|
self.__nom = nom_etu
|
|
|
|
|
self.__prenom = prenom_etu
|
|
|
|
|
self.spe1 = spe1_etu
|
|
|
|
|
@@ -238,10 +238,10 @@ Ici l'attribut \_\_nom et \_\_prenom sont privés. Pour accéder/modifier à leu
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
def get_nom(self):
|
|
|
|
|
return self.__nom
|
|
|
|
|
return self.__nom
|
|
|
|
|
|
|
|
|
|
def set_nom(self,nouveau_nom):
|
|
|
|
|
self.__nom = nouveau_nom
|
|
|
|
|
self.__nom = nouveau_nom
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Ces méthodes sont appelées des accesseurs et modificateurs. Elles sont optionnelles selon les cas.
|
|
|
|
|
@@ -332,7 +332,7 @@ True
|
|
|
|
|
|
|
|
|
|
-----------
|
|
|
|
|
|
|
|
|
|
Auteurs : Florian Mathieu, Enzo Frémeaux, Thimothée Decooster
|
|
|
|
|
Auteurs : Florian Mathieu, Enzo Frémeaux, Timothée Decoster
|
|
|
|
|
|
|
|
|
|
Licence CC BY NC
|
|
|
|
|
|
|
|
|
|
|