Locace, le 26 novembre 2010 - 02:35, dit :
Merci pour ta réponse. Le véhicule amphibie correspond tout à fait à ce que je veux faire.Les métiers et les nationalités ne sont pas des propriété. Enfin je ne crois pas.
Très franchement, ça ne saurait être autre chose, le véhicule amphibie n'a rien à voir : bateau et voiture sont intrinsèquement des véhicules (magicien et francais ne sont pas des personnes...mais des propriétés de personne.)
Citation
Chaque métier dispose de méthodes et d'attributs propre. Par exemple, le magicien a une variable reserve_magie et a une méthode lancer_boulerdefeu. D'autres métiers ont d'autre méthodes et d'autres variables.
Je te fais un exemple d'implémentation en speed, c'est peut être pas le meilleur, mais c'est le premier qui me vient :
//class magicien
function Magicien()
{
this.reserve_magie = 100;
this.lancer_boulerdefeu = function()
{
alert('kaboom');
this.reserve_magie--;
}
}
function Garagiste()
{
//blabla
}
function Personnage(_job)
{
this.metier = {};
switch(_job){
case 'magicien':
this.metier = new Magicien();
break;
case 'garagiste'
this.metier = new Garagiste();
break;
}
this.metierDo = function(_delegateStr)
{
if(null!=this.metier[_delegateStr])
this.metier[_delegateStr].call();
else
alert('je ne sais pas faire ça');
}
}
var bobby = new Personnage('magicien');
bobby.metierDo('lancer_boulerdefeu'); //-> kaboom
var jeanLouis = new Personnage('garagiste');
jeanLouis.metierDo('lancer_boulerdefeu'); // -> je ne sais pas faire ça
Voilà comment faire par l'exemple (corrige les erreurs, j'ai codé dans le textarea du forum). TU peux implémenter n'importe quel nationalité/métier de cette manière.
Citation
De même pour les nationalités. Un corse dispose de la méthode chant corse. Méthode, qu'un breton n'a pas.
Mon but est d'arriver à avoir des instance de magicien breton, de forgeron normand, de magicien savoyard, ...
Implémente ensuite les nationalités de la même manière
Citation
Il me semble donc bien être dans le sujet de l'héritage multiple.
Toujours pas, pose la question dans un forum de conception si tu veux en avoir le coeur net !
Pour argumenter ce point de vue, je peux ajouter ça : ajoute à tes personnages une race, un sexe, ou n'importe quel autre 'attribut' qui peut générer des fonctionnalités différentes; tu imagines le micmac pour faire hériter ta classe Personnage d'autant de ces 'attributs' ? (car j'espère que tu conviendras qu'il s'agit définitivement d'attributs !

)