Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2660 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  héritage de classe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

héritage de classe

n°1068261
suizokukan
Posté le 02-05-2005 à 00:09:46  profilanswer
 

Bonsoir à tous, merci de m'aider.
 
J'apprends Python après plusieurs années passées sur le C++ et j'ai du mal à m'y retrouver question POO... Voici ma question :
 
Je crée une classe 'C0' puis une classe dérivée 'C1'; je pensais qu'à chaque appel du constructeur de C1 le constructeur de C0 était automatiquement appelé. Ce qui n'est pas le cas. C'est normal/pourquoi ? (désolé si j'ai rien capté !)

mood
Publicité
Posté le 02-05-2005 à 00:09:46  profilanswer
 

n°1068269
masklinn
í dag viðrar vel til loftárása
Posté le 02-05-2005 à 00:18:43  profilanswer
 

__init__ n'est pas un constructeur, c'est une méthode d'initialisation mais quand __init__ est appelé l'objet est déjà créé. En python, le contructeur n'est pas accessible.
Si une classe enfant veut étendre l'une des fonctions de la classe parent, la méthode de la classe enfant doit explicitement appeler celle de la classe parent
 
Accessoirement, tu devrais lire Dive Into Python, c'est l'une des meilleures docs de Python que je connaisse.


Message édité par masklinn le 02-05-2005 à 00:19:47

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1068272
suizokukan
Posté le 02-05-2005 à 00:23:30  profilanswer
 

Merci Masklinn pour cette réponse rapide et précise. Ca m'apprendra à lire entre les lignes et à ignorer la doc' ...

n°1068275
masklinn
í dag viðrar vel til loftárása
Posté le 02-05-2005 à 00:32:29  profilanswer
 

Pas grave, je crois pas que ça soit écrit dans le tutorial Python de tte façon.
 
Lit Dive, je te le conseille


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1068280
suizokukan
Posté le 02-05-2005 à 00:53:07  profilanswer
 

Ok, voilà ce que cela donnerait (mais ça me fait quand même bizarre d'écrire les choses ainsi] :
 
class C0:
    def __init__(self):
        print "classe C0"
 
class C1(C0):
    def __init__(self):
        C0.__init__(self)
        print "classe C1"
 
obj = C1()
 
et l'on verrait bien apparaître les messages : "classe C0" puis "classe C1"

n°1068281
masklinn
í dag viðrar vel til loftárása
Posté le 02-05-2005 à 00:53:52  profilanswer
 

Ouaip, c'est ça.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1068380
Taz
bisounours-codeur
Posté le 02-05-2005 à 09:26:44  profilanswer
 

merci d'hériter d'object :o


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  héritage de classe

 

Sujets relatifs
cherche explications sur la classe matrix2Dhéritage multiple
[perl] connaitre la classe d'un objetAppeler une jFrame à partir d'une autre les 2 dans la même classe
classe abstraite generique + heritageHéritage de classe et vector
[C++] je debute. classe amie. classe abstraite, heritage.[c#] Question sur l'heritage entre classe
Probleme heritage classe[C++] heritage simple et classe. Help !
Plus de sujets relatifs à : héritage de classe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR