|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : mars 2006 Messages : 198 ![]() |
Bonjour,
J'utilise une BADI spécifique, et je veux créer une nouvelle implémentation de cette BADI. En fait, cette BADI contient plusieurs implémentations d'interfaces, chacune d'elles contient plusieurs et les mêmes méthodes mais dont le contenu diffère d'une implémentation à l'autre. 1ère question : le besoin consiste à redéfinir la méthode, disons, METH_001, qui va être appellée dans un programme. Est ce que la nouvelle implémentation doit contenir uniquement la METH_001 ou toutes les méthodes ? 2ème question : dans le programme, on instancie un objet de la classe implémentant lesdites interfaces, et on fait obj->METH_001. Quelle méthode METH_001 (de quelle interface) est exécutée par le programme ? autrement, à quelle implémentation de la METH_001 le programme fait appel ? J'espère que j'ai bien exprimé mon interrogation. Merci d'avance de vos réponses. Hiraa |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() |
Salut,
Pour ta première question : Quand une classe implémente une interface, toutes les méthodes sont déclarées dans la dite classe et on peut placer du code dans chacune d'elles. Tu n'as juste qu'à mettre du code dans la méthode correspondant à ton besoin, le fait qu'il y ait des méthodes vides n’impacte rien. Pour ta deuxième question : À un point donné, le programme va faire appel à la même méthode de toutes les classes actives implémentant la dite méthode. Pour être plus précis, quand je m'étais amusé à déboguer le standard j'ai vu que SAP récupère depuis la base le nom de toutes les classes implémentant l'interface et va, dans une boucle, créer un objet en référence à chaque classe trouvée et faire appel à la méthode de l'objet en cours.
__________________
Boaf...signature <= ça suffira ça ?? |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() |
Bonjour,
Comme l'a dit Celdrøn, "toutes les méthodes sont déclarées dans la dite classe et on peut placer du code dans chacune d'elles". Par contre j'aurais une question par rapport à ça : Si je ne veux pas mettre de code dans certaines des méthodes déclarées, le contrôle étendu de ma classe me remonte une erreur par méthode vide (et inactive du coup). Existe-t-il un autre moyen que d'activer toutes les méthodes pour éviter ces erreurs ? Merci d'avance... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com