Bonjour, j'ai une classe abstraite définit en gros de la facon suivante:
Dans une classe qui hérite de LuceneIndexer j'essai de mettre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public abstract class LuceneIndexer { // [...] protected abstract Vector<RessourceProperty> getRessourceProperties(Object ressource); }
Et RSSEntry est une classe qui extends Object.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12public class LuceneRSSIndexer extends LuceneIndexer { // [...] protected Vector<RessourceProperty> getRessourceProperties(RSSEntry entry) { Vector<RessourceProperty> v = new Vector<RessourceProperty>(); v.add( new RessourceProperty("title", e.getTitle(), Field.Store.YES, Field.Index.TOKENIZED)); v.add( new RessourceProperty("description",e.getDescription(), Field.Store.YES, Field.Index.TOKENIZED)); } return v; } }
Cependant Eclipse me balance une erreur
The type LuceneRSSIndexer must implement the inherited abstract method LuceneIndexer.getRessourceProperties(Object)
Pourtant RSSEntry "is a" Object donc ca serait sencé fonctionner non ?
En ce moment je suis obligé de mettre Object entry comme paramètre au lieu de RSSEntry entry et de faire un if (entry instanceof RSSEntry), j'aimerais éviter cela.
Merci!







Répondre avec citation




Partager