Presentation laddar. Vänta.

Presentation laddar. Vänta.

Föreläsning 8 this Mer om sammansatta datatyper Vektor med objekt String[] args Klassen Vector.

Liknande presentationer


En presentation över ämnet: "Föreläsning 8 this Mer om sammansatta datatyper Vektor med objekt String[] args Klassen Vector."— Presentationens avskrift:

1 Föreläsning 8 this Mer om sammansatta datatyper Vektor med objekt String[] args Klassen Vector

2 this I en metod kan man använda this som ett objekt. this syftar då på det aktuella objektet. public Bil(String färg, double pris){ this.färg = färg; I exemplet ovan syftar this på det objekt som konstruktorn håller på att konstruera.

3 Vad är String[] args i main? När man kör programmet kan man skriva extra värden på kommandoraden. Exempel: java Minigolf4 Linda Hempa Elon Dessa värden hamnar i parametern args som är en vektor med strängreferenser.

4 String[] args - exempel class Minigolf4 { public static void main(String[] args){ String[] namn = args; int m = namn.length; //antal spelare

5 Vektor med objekt Det går bra att lagra referenser till objekt i en vektor. Deklaration av vektorn: Person[] spelare = new Person[m]; Skapa nytt Person-objekt för varje element: spelare[0] = new Person(namn[0]); spelare[i] refererar till Person-objektet på plats i

6 Vektor med objekt - exempel class Minigolf5 { public static void main(String[] namn){ int m = namn.length; Person[] spelare = new Person[m]; for(int i = 0; i < m; i++){ spelare[i] = new Person(namn[i]); spelare[i].spela(); } //for } //main } //class Minigolf5

7 Klassen Vector Används som en vektor men måste importeras: import java.util.Vector; Fördelar: –Längden utökas automatiskt när man lägger in ett nytt element. –Lätt att stoppa in element var som helst. Nackdelar –Varje element blir av klassen Object. –Det går inte att direkt tilldela ett element ett nytt värde - det måste plockas ut, ändras och sen stoppas in igen.

8 Metoder i klassen Vector addElement(Object element) –Lägger till ett element. removeElement(Object element) –Tar bort ett visst element. elementAt(int index) –Returnerar det element som finns på plats index firstElement() och lastElement() –Returnerar första resp sista elementet. size() –Returnerar antal element.

9 Typkonvertering av objekt Allt som lagras i en Vector konverteras automatiskt till klassen Object. Raden h = street.elementAt(16); ger kompileringsfel: incompatible types found: java.lang.Object required: House Lösning: h = (House) street.elementAt(16);

10 Exempel Vector street = new Vector(); House h; for (int i = 0; i < 22; i++) { h = new House(98,5,"bastu"); street.addElement(h); } h = (House) street.elementAt(16); stdout.println(”Antal: ” + street.size());


Ladda ner ppt "Föreläsning 8 this Mer om sammansatta datatyper Vektor med objekt String[] args Klassen Vector."

Liknande presentationer


Google-annonser