Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
python:poo:poo [2023/07/04 10:36] – [4.1 Association unidirectionnelle] phil | python:poo:poo [2023/07/04 11:24] (Version actuelle) – [1.3 Les méthodes] phil | ||
---|---|---|---|
Ligne 208: | Ligne 208: | ||
<pane id=" | <pane id=" | ||
- | <callout type=" | + | <callout type=" |
== 1.3.1 Le constructeur == | == 1.3.1 Le constructeur == | ||
Ligne 282: | Ligne 282: | ||
Création d'une méthode statique getNombreDeMonstresEnVie() dans la classe Monstre pour connaître le nombre de monstres en vie. | Création d'une méthode statique getNombreDeMonstresEnVie() dans la classe Monstre pour connaître le nombre de monstres en vie. | ||
- | {{ : | + | {{ : |
<code python *.py> | <code python *.py> | ||
class Monstre: | class Monstre: | ||
Ligne 367: | Ligne 367: | ||
Création d'une classe “Monstre” contenant trois attributs (+ le constructeur surchargé) et trois méthodes. | Création d'une classe “Monstre” contenant trois attributs (+ le constructeur surchargé) et trois méthodes. | ||
- | {{ : | + | {{ : |
<code csharp *.cs> | <code csharp *.cs> | ||
class Monstre { | class Monstre { | ||
Ligne 406: | Ligne 406: | ||
Création d'une méthode statique getNombreDeMonstresEnVie() dans la classe Monstre pour connaître le nombre de monstres en vie. \\ \\ | Création d'une méthode statique getNombreDeMonstresEnVie() dans la classe Monstre pour connaître le nombre de monstres en vie. \\ \\ | ||
- | {{ : | + | {{ : |
<code csharp *.cs> | <code csharp *.cs> | ||
class Monstre { | class Monstre { | ||
Ligne 493: | Ligne 493: | ||
</ | </ | ||
- | {{ : | + | {{ : |
//Exemple// \\ | //Exemple// \\ | ||
<code csharp *.cs> | <code csharp *.cs> | ||
Ligne 630: | Ligne 630: | ||
==== 3. Principe d' | ==== 3. Principe d' | ||
- | <callout type=" | + | <callout type=" |
< | < | ||
Ligne 637: | Ligne 637: | ||
<pane id=" | <pane id=" | ||
- | {{ : | + | {{ : |
<callout type=" | <callout type=" | ||
Ligne 705: | Ligne 705: | ||
Les attributs de la classe “Monstre” sont masqués. Pour y accéder sans passer par les méthodes de l' | Les attributs de la classe “Monstre” sont masqués. Pour y accéder sans passer par les méthodes de l' | ||
- | {{ : | + | {{ : |
<code csharp *.cs> | <code csharp *.cs> | ||
class Monstre | class Monstre | ||
Ligne 762: | Ligne 762: | ||
<pane id=" | <pane id=" | ||
- | |||
Lecture du **diagramme de classes** : chaque objet O1 est associé à un objet O2. La réciproque n'est pas vraie. \\ O1 peut envoyer un message à O2 par le biais de l' | Lecture du **diagramme de classes** : chaque objet O1 est associé à un objet O2. La réciproque n'est pas vraie. \\ O1 peut envoyer un message à O2 par le biais de l' | ||
* il possède un objet (référent) de type O2 dans ses champs | * il possède un objet (référent) de type O2 dans ses champs | ||
* cet objet est initialisé avec O2 lors de la création de O1 | * cet objet est initialisé avec O2 lors de la création de O1 | ||
- | {{ : | + | {{ : |
<code python exemple1.py> | <code python exemple1.py> | ||
Ligne 797: | Ligne 796: | ||
* il possède un objet (référent) de type O2 dans ses champs | * il possède un objet (référent) de type O2 dans ses champs | ||
* cet objet est initialisé avec O2 lors de la création de O1 | * cet objet est initialisé avec O2 lors de la création de O1 | ||
- | {{ : | + | {{ : |
<code csharp *.cs> | <code csharp *.cs> | ||
Ligne 844: | Ligne 843: | ||
== 4.1.2 Exemple 2 - Lien de composition == | == 4.1.2 Exemple 2 - Lien de composition == | ||
- | {{ : | ||
- | Dracula se** compose** de différents organes dont un estomac. | ||
- | |||
< | < | ||
* [[# | * [[# | ||
Ligne 852: | Ligne 848: | ||
<pane id=" | <pane id=" | ||
- | Lecture du **diagramme de classes** : | + | {{ : |
+ | Lecture du **diagramme de classes** : Dracula se** compose** de différents organes dont un estomac. Si Dracula disparaît, son estomac aussi. | ||
+ | {{ : | ||
<code python *.py> | <code python *.py> | ||
- | # todo | + | class Estomac: |
+ | pass | ||
+ | |||
+ | class Monstre: | ||
+ | def __init__(self, | ||
+ | self.__nom = nom | ||
+ | self.__pos_x = x # Un attributs (où variable d' | ||
+ | self.__pos_y = y # est rendu privé par : __ | ||
+ | self.__pointsDeVie = pv # exemple self.__posx | ||
+ | self.__estomac = Estomac() | ||
+ | Monstre.__nombreDeMonstres += 1 | ||
+ | |||
+ | # Programme | ||
+ | dracula = Monstre(" | ||
</ | </ | ||
</ | </ | ||
<pane id=" | <pane id=" | ||
- | {{ : | + | {{ : |
- | Lecture du **diagramme de classes** : | + | Lecture du **diagramme de classes** : Dracula se** compose** de différents organes dont un estomac. Si Dracula disparaît, son estomac aussi. |
+ | |||
+ | {{ : | ||
<code csharp *.cs> | <code csharp *.cs> | ||
namespace Enfer | namespace Enfer | ||
Ligne 892: | Ligne 906: | ||
<pane id=" | <pane id=" | ||
- | {{ : | + | {{ : |
**Lecture du diagramme de classe** : l' | **Lecture du diagramme de classe** : l' | ||
- | {{ : | + | {{ : |
<code python exemple3.py> | <code python exemple3.py> | ||
Ligne 941: | Ligne 955: | ||
<pane id=" | <pane id=" | ||
- | {{ : | + | {{ : |
**Lecture du diagramme de classe** : l' | **Lecture du diagramme de classe** : l' | ||
- | {{ : | + | {{ : |
<code csharp exemple3.cs> | <code csharp exemple3.cs> |