Interface
Résolu
ourysho
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
ourysho Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
ourysho Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'aimerai avoir une explication sur l’instanciation des interfaces dans une méthode. comment ca fonctionne. S'il s'agit d' implémenter une interface et utiliser ses méthodes je comprend. ce que je ne comprend pas c'est la ligne ou j'ai instancié mon interface ResultRequestor qui à l’intérieur ajoute les méthodes de cette interface. je parle de cette ligne dans class CustomerSqlDAO ce qui se passe à l’intérieur
Exemple de code
Mes 2 interfaces. je precise c'est l'usage de interface ResultRequestor que j'ai pas compris. pour interface CustomerDAO pas de problème.
la classe qui implemente CustomerDAO
Je vous remercie de m'aider à ce que je comprenne cela cordialement
resultRequestor = new ResultRequestor<List<Customer>>() {
Exemple de code
Mes 2 interfaces. je precise c'est l'usage de interface ResultRequestor que j'ai pas compris. pour interface CustomerDAO pas de problème.
public interface CustomerDAO extends GenericDAO<Customer, Integer> {
List<Customer> searchBatchCustomer(CustomerCriteria customerCriteria,
Integer rangeStartAt, Integer rangeSize);
}
<code>
public interface ResultRequestor<T> {
T getResult();
void result(ResultSet resultSet);
}
la classe qui implemente CustomerDAO
public abstract class CustomerSqlDAO extends SqlDAO<Customer, Integer>implements CustomerDAO {
@Override
public List<Customer> searchBatchCustomer(CustomerCriteria customerCriteria,
Integer rangeStartAt, Integer rangeSize) {
ResultRequestor<List<Customer>> resultRequestor = null;
resultRequestor = new ResultRequestor<List<Customer>>() {
private List<Customer> result = new ArrayList<Customer>();
public List<Customer> getResult() {
return this.result;}
public void result(ResultSet resultSet) {
};
return result;
} // fin de la methode searchBatchCustomer
} // fin de la classe CustomerSqlDAO
Je vous remercie de m'aider à ce que je comprenne cela cordialement
A voir également:
- Interface
- Common interface 5v only - Forum TNT / Satellite / Réception
- Interface netflix - Accueil - Streaming
- Interface gmail - Guide
- Akamai netsession interface ✓ - Forum Réseaux sociaux
- Interface snapchat - Accueil - Réseaux sociaux
1 réponse
Bonjour,
Tu as fait ce que l'on appelle une classe anonyme.
C'est à dire que tu as créé une classe directement dans ton code, elle n'a pas de nom, elle n'est utilisée nul part ailleurs dans ton code, mais implémente bien ton interface.
Dans tes fichiers .class tu la retrouveras dans CustomerSqlDAO$1.class
Si tu en avais plusieurs tu aurais $2, $3, etc.
Voir la documentation : Anonymous Classes
Remarque : dans ton cas (mais ce n'est pas toujours possible) tu pourrais faire une vraie classe qui implémente ton interface et l'appeler normalement
Tu as fait ce que l'on appelle une classe anonyme.
C'est à dire que tu as créé une classe directement dans ton code, elle n'a pas de nom, elle n'est utilisée nul part ailleurs dans ton code, mais implémente bien ton interface.
Dans tes fichiers .class tu la retrouveras dans CustomerSqlDAO$1.class
Si tu en avais plusieurs tu aurais $2, $3, etc.
Voir la documentation : Anonymous Classes
Remarque : dans ton cas (mais ce n'est pas toujours possible) tu pourrais faire une vraie classe qui implémente ton interface et l'appeler normalement
ourysho
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
Merci KX d'avoir pris ton temps pour me répondre j'ai compris ton explication cela m'aidera à avancer cordialement