Presentation laddar. Vänta.

Presentation laddar. Vänta.

Fortsättningskurs i Programmering lektion 6 Johan Hjerling

Liknande presentationer


En presentation över ämnet: "Fortsättningskurs i Programmering lektion 6 Johan Hjerling"— Presentationens avskrift:

1 Fortsättningskurs i Programmering lektion 6 Johan Hjerling

2 2 Interface – ett typ av arv Ett interface är ett sätt att kommunicera med någon eller något annat  En fjärkontroll  Ett språk Bygger på att två, eller flera, olika saker kommunicerar på samma vilkår Fortsättningskurs i programmering 2005 – lektion 6

3 3 Interface Blipp-bliiip-blipp betyder ”stäng av” Hello Hi Fortsättningskurs i programmering 2005 – lektion 6

4 4 Interaface Vi vill samla alla våra olika objekt så att vi kan kommunicera och använda dom lika Butik som säljer fordon: Pris: € 450,- Inventarienr.: Pris: € 7500,- Inventarienr.: Pris: € 22,- Inventarienr.: Objekten är olika men kommunicerar inventeringsinformationen på samma sätt Fortsättningskurs i programmering 2005 – lektion 6

5 5 Interface Ett interface säger vilka metoder som MÅSTE implementeras av klassen Man skriver ett kontrakt som om att dessa metoder finns i min klass. class Bil extends Fordon implements Iventerbar { public interface Inventerbar { public int getInventarieNr(); public double getPris(); } Fortsättningskurs i programmering 2005 – lektion 6

6 6 Interface - Comparable Comparable finns i java.lang och hör alltså till språkgrunden i java. Innehåller endast en metod int compareTo(T o); Exempel: Bil b1 = new Bil(4,false,450,'M',0,"Racingbanan"); Bil b2 = new Bil(3,true,55,'H',2,"Helst ingenstans"); int jamforare = b1.compareTo(b2); Fortsättningskurs i programmering 2005 – lektion 6

7 7 Interface - Comparable Implementera alltså en egen compareTo - metod public int compareTo(Object o) { int returVarde = 0; if (this.getHastKrafter() < ((Bil)o).getHastKrafter()){ returVarde = -1; } else if (this.getHastKrafter() > ((Bil)o).getHastKrafter()) { returVarde = 1; } return returVarde; } Fortsättningskurs i programmering 2005 – lektion 6

8 8 Länkade listan - LinkedList En grundläggande datastruktur Finns färdigt i java.util.LinkedList Tillhör en grupp av så kallade Collections java.sun.com Noder Lista Länkar Fortsättningskurs i programmering 2005 – lektion 6

9 9 LinkedList – grundläggande kod Konstruktor LinkedList namn = new LinkedList (); Exempel: LinkedList lista = new LinkedList (); Nyttiga metoder:Exempel: add(E o);lista.add(b1); get(i);Bil b2 = lista.get(1); size();int i = lista.size(); Fortsättningskurs i programmering 2005 – lektion 6

10 10 LinkedList – iterera listan add(): for (int i = 0; i < 10; i++) { lista.add(new Bil(4,false,450,'M',0,"Racingbanan")); } size() & get(): for (int j = 0; j < lista.size(); j++) { System.out.println(lista.get(j)); } ListIterator: ListIterator i = lista.listIterator(); while(i.hasNext()) { System.out.println(i.next()); } Fortsättningskurs i programmering 2005 – lektion 6

11 11 LinkedList & Comparable Sortering av listan görs enkelt med Collections.sort(lista); Att hitta max och min görs med Bil maxHKbil = Collections.max(lista); Bil minHKbil = Collections.min(lista); Men Collections är även bra för annat så som Collections.shuffle(lista); Collections.swap(lista, 3, 5); OBS! Genererar varningar.... Fortsättningskurs i programmering 2005 – lektion 6

12 12 Objekthantering Varje klass vi skapar ärver automatiskt grundklassen Object :s egenskaper I dessa egenskaper ingår equals() och getClass() getClass() kan användas för att identifiera vilken typ av klass man jobbar med Exempel: if(lista.get(i).getClass().getName().equals(“Bil")) { Fortsättningskurs i programmering 2005 – lektion 6


Ladda ner ppt "Fortsättningskurs i Programmering lektion 6 Johan Hjerling"

Liknande presentationer


Google-annonser