Aşağıdaki Java kodunu Dart'a aktarmaya çalışıyorum ve bunu yapmak için şaşırıyorum.Nasıl Yapılır Değiştirilebilir <E>
Java'da yinelenebilir arabirim, tek bir yöntemle temiz olduğu yerdir ve bunu uygulamak bir ek işlevdir.
Bu kod Dart'a en iyi nasıl dönüştürülür?
/**
* Chess squares represented as a bitmap.
*/
public class ChessSquares implements Iterable<ChessSquare> {
private static class ChessSquaresIterator implements Iterator<ChessSquare> {
long bits;
int nextBit;
public ChessSquaresIterator(long bits) {
this.bits = bits;
nextBit = Long.numberOfTrailingZeros(bits);
}
@Override
public boolean hasNext() {
return (nextBit < 64);
}
@Override
public ChessSquare next() {
ChessSquare sq = ChessSquare.values()[nextBit];
bits = bits & ~sq.bit;
nextBit = Long.numberOfTrailingZeros(bits);
return sq;
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
}
@Override
public Iterator<ChessSquare> iterator() {
return new ChessSquaresIterator(bits);
}
...
Bir temel sınıfı genişletmek istemiyorsanız, Mixin sınıfını karıştırın. –