Pregunta

Ok, así que tengo una clase de "Estructura de datos avanzada" (en este caso un poco de árbol) ASÍ QUE implimented un iterador como una clase privada con en ella. Por lo que las necesidades de iterador de implementar una función de eliminación para eliminar el último elemento retuirned.

Ahora mi ADT ya impliments una función de eliminación, y en este caso hay muy poco (Pensando en ello, creo que nada) a una ganancia por implimenting una función de eliminación diferente para el iterador.

Entonces, ¿cómo hago para llamar a la Sacar de mi ADT

boceto de mi struture:

public class ADT {
...
   private class ADT_Iterator impliments  java.util.Itorator{
      ...
      public void remove(){
          //where I want to call the ADT's remove function from
      }
...

    public void remove( Object paramFoo )
    {
     ...
    }

    ...     

}

Eliminar lo tanto, sólo llamando al (FooInstance) no funcionarán (¿verdad?) y this.remove (FooInstance) es la misma cosa.

lo llamo? (Y changign el nombre de la función de eliminación del ADT no es una opción, ya que AD T tiene que cumplir con un Interace wich Soy nota en libertad de modificar)

Yo podría hacer que ambos llaman un functon removeHelper, supongo ...

¿Fue útil?

Solución

ADT.this.remove(object)

(Aunque sólo llamar remove (objeto) funcionará en este caso, ya que tiene una firma diferente que el método remove () del iterador.)

Otros consejos

Para obtener la referencia para la clase exterior que la clase interna está "unido" ClassName.this de uso, en su caso:

   private class ADT_Iterator impliments  java.util.Itorator{
      ...
      public void remove(){
          ADT.this.remove(obj)
      }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top