Presentation laddar. Vänta.

Presentation laddar. Vänta.

Fortsättningskurs i Programmering lektion 6

Liknande presentationer


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

1 Fortsättningskurs i Programmering lektion 6
Johan Hjerling

2 Interface – ett typ av arv
Fortsättningskurs i programmering 2005 – lektion 6 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

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

4 Fortsättningskurs i programmering 2005 – lektion 6
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.: 55050 Pris: € 7500,- Inventarienr.: Pris: € 22,- Inventarienr.: Objekten är olika men kommunicerar inventeringsinformationen på samma sätt

5 Fortsättningskurs i programmering 2005 – lektion 6
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. public interface Inventerbar { public int getInventarieNr(); public double getPris(); } class Bil extends Fordon implements Iventerbar {

6 Interface - Comparable
Fortsättningskurs i programmering 2005 – lektion 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);

7 Interface - Comparable
Fortsättningskurs i programmering 2005 – lektion 6 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;

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

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

10 LinkedList – iterera listan
Fortsättningskurs i programmering 2005 – lektion 6 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());

11 LinkedList & Comparable
Fortsättningskurs i programmering 2005 – lektion 6 LinkedList & Comparable OBS! Genererar varningar.... 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);

12 Fortsättningskurs i programmering 2005 – lektion 6
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")) {


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

Liknande presentationer


Google-annonser