Bonjour à tous,
Désolé si le probléme a déjà été résolu sur ce forum!
Comme le titre l'indique, je veux implémenter le pattern adaptateur en Python pour résoudre un problème de compatibilité d'interfaces. Ayant trouvé le principe de ce pattern (ICI), j'ai voulu l'appliquer sur un exemple simple. En effet, j'ai une classe Francais (Cible) qui posséde une méthode lire() et une classe English (adaptée) qui contient une méthode read(). Et je veux que, si j'appelle la méthode lire() de la classe Francais, la méthode read() de la classe English soit exécutée. J'ai pensé alors au pattern Adapter comme solution (Vous validez le choix, je suppose!). J'ai créé une classe Traduire, qui hérite de Francais et English, dans laquelle j'ai une méthode lire() qui traduit (appelle) la méthode read() de la classe English. Voici mes classes:
Comme vous pouvez comprendre, je veux voir afficher "Hello", mais j'obtiens "toto".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 class English(object): def __init__(self): return def read(self): print "Hello" class Francais(object): def __init__(self): return def lire(self): print "toto" class Traduire(Francais, English): def __init__(self): English.__init__(self) def lire(self): self.read() fr = Francais() fr.lire()
Je voudrais savoir où se trouve le souci!
Merci d'avance pour votre aide
Partager