cs_oxkao
Messages postés7Date d'inscriptionsamedi 24 janvier 2009StatutMembreDernière intervention 5 mai 2010
-
2 juin 2009 à 15:16
cs_oxkao
Messages postés7Date d'inscriptionsamedi 24 janvier 2009StatutMembreDernière intervention 5 mai 2010
-
5 juin 2009 à 09:24
bonjours,
voili voilou je me suis mis à python et je pensais (en tant que langage objet) retrouver les mêmes principe qu'en C++ ou java
je cherche donc à avoir une classe (abstraite) avec des attributs qui seront commun à plusieurs classe
genre :
abstract class Composant
string nom
int num
class Ecran
int taille
class Souris
int nbBouton
je souhaiterais que mes classe Ecran et Souris hérite des attribut de la classe composant
def __init__(self,__nom,__numSerie,__marque):
self.__nom = __nom
self.__numSerie = __numSerie
self.__marque = __marque
et faire hériter à mes autre classe
import composant
class Ecran (Composant):
def __init__(self,__taille,__nom,__numSerie,__marque):
self.__taille =__taille
self.__nom = __nom
self.__numSerie =__numSerie
self.__marque = __marque
mais en fait le souci c'est que je pourrais toujours (si la folie m'envahis un bref instant) faire une instanciation de la classe Composant
un peu perturbant
en plus je galère un peu pour les variables je suis pas encore très au point du faite qu'on est pas besoin d'assesseur get et set et que rien ne soit privée en python :/
class Ecran (Composant):
def __init__(self,taille,nom,numSerie,marque):
#Héritage des attributs et méthodes de Composant
Composant.__init__(self, nom, numSerie, marque)
self.taille = taille
def affichage(self):
#Surcharge de la méthode affichage de Compsant
Composant.affichage(self)
print self.taille
a = Ecran(22,"toto ^_^", "jenesaisquoimettre", "Toshiba")
a.affichage()
def __init__(self,__nom,__numSerie,__marque):
self.__nom = __nom
self.__numSerie = __numSerie
self.__marque = __marque
raise NotImplementedError
#j'arrive pas à suppr la ligne blanche -.- décidément se forum m'aime pas
ma classe Composant ne pourra pas être implémenter ?
donc impossible de faire :
toto = composant.Composant("yop",123456,"glop")
le souci c'est que dans mon fichier testMain.py (qui est dans le même dossier =) )
m1 = machine.Machine (1,2,3,4)
m1.affiche()
#bon sa sa fonctionne pas de souci =p
mais quand je fais :
m2 = machine.Test(1,2,3,4,5)
print m2.__zea
Traceback (most recent call last):
File "testMain.py", line 13, in <module>
print m2.__zea
AttributeError: 'Test' object has no attribute '__zea'
='( Comment ca il à pas d'attribut nommé __zea mon Test oO