Fortsättningskurs i Programmering lektion 6

Slides:



Advertisements
Liknande presentationer
Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Advertisements

Algoritmer och data strukturer -Länkade listor
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Fortsättningskurs i Programmering lektion 3 Johan Hjerling
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
Klassarv och inkapsling
Metoder i java Det finns två typer av metoder i java
Arv.
Polymorfism.
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik för K och Media
Föreläsning 10 Länkade lista Stack och Kö Att arbeta med listor
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
i olika programmeringsspråk
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Föreläsning 4, Kapitel 4 Gruppera objekt Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Programmering i C# 3. Klasser.
PROCESSPROGRAMMERING
Datasamlingar och generiska enheter
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
4. Arv och dynamisk bindning
Föreläsning 8, kapitel 8 Förbättra strukturen med arv Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael.
Vektorer (klassen Vector) Sortering
Mer om arv - Polymorfism Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Programmering i C# 5. Structer.
Arv.
Programmeringsteknik för Media1 & K1
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Jonny Karlsson GRUNDKURS I PROGRAMMERING MED JAVA Föreläsning 9 ( ) INNEHÅLL: -Tabeller av klassobjekt -Användning av Java API specifikationen.
Föreläsning 5, Kapitel 5 Använda Java-bibliotek för att få avancerad funktionalitet Kursbok: “Objects First with Java - A Practical Introduction using.
Riktade listor i C och Java Lösning till gruppövning 1.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Next previous Innehåll Del 1-trådar Del 2-URLer Del 1: Trådar Föreläsning 8.
Föreläsning 10 Stränghantering.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
Föreläsning 9 Gränssnitt. Super Super kan användas till anrop av en omdefinierad metod Super kan användas till anrop av konstruktorer i superklassen Super.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
OOP F14:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 14 Repetition Tips inför inlämningsuppgift 2.
Föreläsning 4 Klasser Och Objekt.
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastructurer - Sökträd, naiva och balancerade lösningar -HashTable -- Kapitel.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
Class VattenKraft{ public static void main(String[] args){ int num=150; int i, totflöde, maxflöde; int[] fall = new int[num]; //vattenflödet i vattenfallen.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
Arv repetition Arv = Är relation Tillgänglighet public, protected och private. Överklass ös Direkt härledd underklass dhu: Class dhu : public ös{} Indirekt.
Köer -- Kapitel 16. Principen med en kö Köer är FIFO datastrukturer  First In – First Out  enqueue() Lägg till data i kön (först)  dequeue() Hämta.
7. Delegerare och notifierare
Föreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
TILLÄMPAD DATALOGI (TILDA) Övningsgrupp 2 Marcus Hjelm
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Arv, abstrakta klasser och gränssnitt
OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
OOP&M - teori1 OOPM del II – Föreläsning vecka Abstrakta klasser/metoder igen Gränssnitt/Interface klasser igen tillämpat.
Föreläsning 12: Exempel och problemlösning
Repetitionsföreläsning 1: Lite rekursion & problemlösning
Presentationens avskrift:

Fortsättningskurs i Programmering lektion 6 Johan Hjerling jhjerlin@abo.fi

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

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

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.: 181277 Pris: € 22,- Inventarienr.: 330101 Objekten är olika men kommunicerar inventeringsinformationen på samma sätt

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 {

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);

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;

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

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();

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());

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);

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")) {