, mais c’est un peu complexe, et leur utilité est plus rare. Si vous souhaitez en savoir plus, [[https://medium.com/@meghamohan/mutable-and-immutable-side-of-... dit, les méthodes ou attributs d’un objet **sont plus importants** que son type ou sa classe.
Prenons ... ire à d’autres langages. Cette possibilité est de plus en plus utilisée – suivez le guide de styles du p
===
===== Pourquoi structurer son code ? =====
Plus les projets de programmation se complexifient, plus ils deviennent difficiles à comprendre. À mesure que vous ajoutez de plus en plus de classes, bibliothèques et fonctions à votre code, il devient plus ardu de découvrir où se ca
utres développeurs préfèrent adopter une approche plus concrète par le prototypage, et essaieront de com... lorsqu’une classe « is-a » (« est-une ») version plus spécialisée d’une autre classe. Il existe égaleme... uelques attributs à implémenter. Dans sa forme la plus pure, l'interface n'implémente pas les attributs,... es ailes. L'idée est de découper une classe en de plus petites classes spécialisées et ensuite les affec
ies de noms de classes suivantes, laquelle est la plus claire ?**
- DatabaseField, StringDatabaseFiel... ue se passe-t-il lorsqu’un module est importé ?**(Plusieurs réponses possibles).
- Les définitions de... e programme va planter ?**
- Quand il n’y aura plus de méthodes ou fonctions auxquelles passer l’exce... jusqu’à ce qu’elle soit attrapée ou qu’il n’y ait plus d’endroit où aller – c’est à ce moment-là que ça
t-ce que l’héritage ? =====
L’une des choses les plus utiles de la programmation orientée objet, c’est ... ''rewind()'', nous obtiendrions donc une erreur ! Plus d’informations à ce sujet au chapitre 5.
</note>
... s l’héritage en programmation orientée objet pour plusieurs raisons différentes, mais liées entre elles :
==== La réutilisabilité ====
La raison la plus simple est la même que celle pour laquelle nous é
r de planter.
Prenons un exemple. Le problème le plus évident qui pourrait survenir ici serait une erre... ge** dans le programme (bubbling). Python ne fait plus les choses dans l’ordre, mais lance plutôt contin... er jusqu’à ce qu’elle soit gérée ou qu’elle n’ait plus nulle part où aller. Dans ce dernier cas, le prog... mauvaise pratique ! Utilisez toujours des erreurs plus ciblées pour être sûr de ne pas passer sous silen
onvention, commencent par une majuscule. S’il y a plusieurs mots dans le nom d’une classe, on utilise gé... tement interne de la classe. En Python, il existe plusieurs méthodes magiques, qui commencent et se term... ts avec **différentes longueurs et largeurs**. De plus, les attributs définis dans la méthode magique ''... tes les classes héritent, mais nous y reviendrons plus tard.
</note>
===== À vous de jouer : écrivez de
1, color="pink")
</code>
La deuxième option est plus explicite, et moins susceptible de prêter à confusion si vous avez plusieurs paramètres optionnels.
<note>
vous pouvez a... et votre programme va planter (nous y reviendrons plus tard).
</note>
Nous pouvons également assigner d... gle)''! Vous avouerez que la première version est plus élégante et compréhensible.
</note>
===== Découv
alement !
<note>
Les projets auront généralement plusieurs hiérarchies d’héritage indépendantes pour le... parents**. Dans une hiérarchie d’héritage, il y a plusieurs niveaux d’héritage – une classe **a un paren... multiple peuvent être difficiles à comprendre. De plus, certains langages de programmation proposent des... tages multiples qui provoquent des problèmes.
Le plus souvent, l’héritage multiple **n’est pas une bonn
rt les éléments suivants de la classe parent :** (Plusieurs réponses sont possibles).
- ses méthodes
... onstituent des raisons d’utiliser l’héritage** ? (Plusieurs réponses sont possibles).
- Il vous perme... ser du code en segments logiques, pour qu’il soit plus facile à développer en équipe.
- Pour garantir ... tionnera la définition de méthode de la classe la plus à gauche dans la définition de classe.
- … choi
multiple** – sujet que nous aborderons brièvement plus loin, au chapitre 4 – les classes parents sont sé... des problèmes, il existe généralement des designs plus simples et plus faciles. Nous y reviendrons.
</note>
<note>
Si vous ne spécifiez pas de classe parent ... s ImageFile(File):
"""Fichier image.
Pas plus à ajouter pour l'instant !
"""
pass
cl
(s) pour instancier un objet de cette classe ?** (plusieurs réponses possibles).
- book = Book(5)
-... s calculent correctement l’aire du rectangle ?** (Plusieurs réponses possibles).
1.<code python>
def ar... a réponse 2 oublie d’instancier ''SmartPlug''. De plus, la méthode ''connect'' ne peut prendre qu’un seu
vec les paramètres 2 et 3. Un appel se définit le plus simplement par l’**utilisation de parenthèses** a... eler des méthodes** dessus.
On peut **instancier plusieurs objets** de la même classe, et **ces objets
s les classes enfants.
L’un des emplacements les plus courants pour cette utilisation se trouve dans le... ctionnalités de façon logique** – soit **deux des plus grands avantages de la programmation orientée obj
À mesure qu’un problème de programmation devient plus difficile, il en va de même pour le travail de co... ous pouvons **décomposer un problème** en parties plus petites qui interagissent, et découper notre prog