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 11:19] – phil | python:poo:poo [2023/07/04 11:24] (Version actuelle) – [1.3 Les méthodes] phil |
---|
| |
<pane id="tab-python_3"> | <pane id="tab-python_3"> |
<callout type="warning" color="red" icon="true">**Il n'est pas possible de surcharger une méthode en Python**. À la place, on peut donner des valeurs par défaut aux arguments. Contrairement aux autres langages, l'objet sur lequel la méthode agit doit être nommé explicitement en premier paramètre. </callout> | <callout type="warning" title="self" color="red" icon="true">**Il n'est pas possible de surcharger une méthode en Python**. À la place, on peut donner des valeurs par défaut aux arguments. Contrairement aux autres langages, l'objet sur lequel la méthode agit doit être nommé explicitement en premier paramètre. </callout> |
| |
== 1.3.1 Le constructeur == | == 1.3.1 Le constructeur == |
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. \\ \\ |
| |
{{ :python:poo:vsclasse4.png?nolink|}} | {{ :python:poo:vsclasse4.png?nolink|Réalisé avec Visual Studio}} |
<code csharp *.cs> | <code csharp *.cs> |
class Monstre { | class Monstre { |
| |
==== 3. Principe d'encapsulation ==== | ==== 3. Principe d'encapsulation ==== |
<callout type="info" icon="true">En programmation, l’**encapsulation** désigne le principe de **regrouper des données brutes avec un ensemble de routines** permettant de les lire ou de les manipuler. Ce principe est souvent accompagné du **masquage** de ces données brutes afin de s’assurer que l’utilisateur ne contourne pas l’interface qui lui est destinée. <html><a href="https://fr.wikipedia.org/wiki/Encapsulation_(programmation)" target="_blank">Wikipédia</a></html></callout> | <callout type="info" title="Encapsulation" icon="true">En programmation, l’**encapsulation** désigne le principe de **regrouper des données brutes avec un ensemble de routines** permettant de les lire ou de les manipuler. Ce principe est souvent accompagné du **masquage** de ces données brutes afin de s’assurer que l’utilisateur ne contourne pas l’interface qui lui est destinée. <html><a href="https://fr.wikipedia.org/wiki/Encapsulation_(programmation)" target="_blank">Wikipédia</a></html></callout> |
| |
<tabs> | <tabs> |
* 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 |
{{ :python:poo:vsassociation1.png?nolink |}} | {{ :python:poo:vsassociation1.png?nolink |Réalisé avec Visual Studio}} |
| |
<code csharp *.cs> | <code csharp *.cs> |
Lecture du **diagramme de classes** : Dracula se** compose** de différents organes dont un estomac. Si Dracula disparaît, son estomac aussi. | Lecture du **diagramme de classes** : Dracula se** compose** de différents organes dont un estomac. Si Dracula disparaît, son estomac aussi. |
| |
{{ :python:poo:umlestomac.png?nolink |}} | {{ :python:poo:umlestomac.png?nolink |Réalisé avec Visual Studio}} |
<code csharp *.cs> | <code csharp *.cs> |
namespace Enfer | namespace Enfer |
{{ :python:poo:vampireverre.png?nolink&150|Réalisé avec Visual Studio}} | {{ :python:poo:vampireverre.png?nolink&150|Réalisé avec Visual Studio}} |
**Lecture du diagramme de classe** : l'objet verreDeSang est passé **provisoirement** à l'objet Dracula à l'aide de sa méthode boit. Contrairement à l'exemple précédent l'objet verreDeSang n'est pas associé à un lien permanent dans la classe Monstre. En effet, Dracula n'aura pas toujours un verre à la main ! | **Lecture du diagramme de classe** : l'objet verreDeSang est passé **provisoirement** à l'objet Dracula à l'aide de sa méthode boit. Contrairement à l'exemple précédent l'objet verreDeSang n'est pas associé à un lien permanent dans la classe Monstre. En effet, Dracula n'aura pas toujours un verre à la main ! |
{{ :python:poo:VSAssociation2.png?nolink |}} | {{ :python:poo:VSAssociation2.png?nolink |Réalisé avec Visual Studio}} |
| |
<code csharp exemple3.cs> | <code csharp exemple3.cs> |