Ho queste due classi in OCamlCome associare un iteratore ad una collezione in OCaml
class type ['a] collection =
object
method add : 'a -> unit
method clear : unit -> unit
method iterator : unit -> 'a iterator
method remove : 'a -> unit
end
class type ['a] iterator =
object
method hasNext : unit -> bool
method next : unit -> 'a
end
E ho bisogno di creare due classi concrete ['a] queue
sottotipo di collection
e ['a] iterator_queue
un sottotipo di iterator
.
Voglio principalmente sapere come definire il metodo iterator : unit -> 'a iterator
perché non vedo come i due tipi possono essere collegati, Il ['a] iterator_queue
deve essere ereditato da entrambi quelli astratti? o dovrei procedere diversamente.
Uno dei modi in cui ho pensato di farlo, ma questo è un argomento di un esame, che sto cercando di trovare la soluzione per;) – 0xFF