Java: Föreläsning 14

Av Thomas Padron-McCarthy (Thomas.Padron-McCarthy@tech.oru.se). Senaste ändring 12 december 2003.

Innehåll i föreläsning 14

Meddelande: Extra databasekurs

Kursen Databaskonstruktion ges en extra gång under våren, på kvartsfart under hela terminen. Se http://aass.oru.se/~tpy/dbk/2003-2004-p34/.

Message from Zbigniew Wasik

Can you write in your webpage and to tell student on the lecture (if there are any still) that students have to show me the program (at least that they can prove it that it works and they know the program - so they didnt copy it from somebody else).

Repetition: assert

Glöm inte att skriva java -enableassertions eller java -ea

Repetition: Iteratorer

Se även exempel från föreläsning 5.

Programmet SimpleSet från föreläsning 13 modifieras (här: SimpleSet.java).

Lägg till en iterator-klass:

    public class SimpleSetIterator implements java.util.Iterator {
        private int currentPosition = 0;
        final Object[] content;
        public SimpleSetIterator(SimpleSet s) {
            content = s.content;
        }
        public boolean hasNext() {
            return currentPosition < MAX_MEMBERS
                     && content[currentPosition] != null;
        }
        public Object next() {
            return content[currentPosition++];
        }
        public void remove() {
            throw new UnsupportedOperationException();
        }
    } // class SimpleSetIterator
iterator-metoden:
    public java.util.Iterator iterator() {
        return new SimpleSetIterator(this);
    }
Provkör:
        java.util.Iterator i = s.iterator();
        int n = 0;
        while (i.hasNext()) {
            Point p = (Point)i.next();
            assert p != null;
            ++n;
        }
        assert n == 3;

Kort om javabönor

Java-komponenter som kan användas i grafiska verktyg

Ingen JavaBean-klass som man ärver från, utan Java-bönor följer vissa kodningsregler:

En egenskap, till exempel Color: