OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.

Slides:



Advertisements
Liknande presentationer
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Advertisements

Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Fortsättningskurs i Programmering lektion 6
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
Övning5 Så här ska man tänka när man löser uppgift 1 på tentan lite grafik, så här söker man genom en lista så här läser man från en fil i java lösa uppgift.
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik för K och Media
Programmeringsteknik för K och Media
Programkodens uppbyggnad
Att programmera i språket Java
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
OOP Objekt-orienterad programmering
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Föreläsning 11 Arrayer.
Objektorienterad programmering i Java
Variabler: Datatyp - grundläggande : int, double, char, boolean eller
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Repetition inför slutprovet
int res2=Math.max(tal1,tal2);
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.
Vektorer (klassen Vector) Sortering
OOP Objekt-orienterad programmering
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 F6:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList toString() – metoden.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
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 INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
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.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
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.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
TILLÄMPAD DATALOGI (TILDA) Övning 3
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. Ett problem/uppgift.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
INTRODUKTION TILL PROGRAMMERING
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
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.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
Central-enhet PM CPU BIOS Skiv- minne Sekundär- minnes- enheter (SM)
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.
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 2 ( )‏ Innehåll:Trådar: - Avbrott (”interrupts”)‏ - Metoden join()‏ Högnivå objekt för.
TILLÄMPAD DATALOGI (TILDA) Övningsgrupp 2 Marcus Hjelm
TILLÄMPAD DATALOGI (TILDA) Övning 1 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 =
TILLÄMPAD DATALOGI (TILDA) Övning 2
TILLÄMPAD DATALOGI (TILDA) Övning 2
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Presentationens avskrift:

OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder

OOP F4:2 Marie Olsson Metoder - subrutiner Kod som utför en viss operation. Ligger i olika klasser och anropas via operatorn. (punkt) t.ex metoden println hos System.out: System.out.println("Hej Hopp!"); Metoden nextLine hos Scanner: Scanner sc=new Scanner(System.in); System.out.print("Vad heter du? "); String namn=sc.nextLine(); Hos de olika klasserna på API-biblioteket finns en mängd metoder som gör olika mer eller mindre fiffiga saker...

OOP F4:3 Marie Olsson Slumptal - biblioteks-klassen Random Det finns alltså ett antal fördefinierade klasser i Java’s API-bibliotek. Beskrivs i API-dokumentationen: Klassen Random används om man vill ha slumptal. Random ligger i java.util - delbiblioteket. Innehåller metoder för att få slumptal, t ex: int nextInt()returnerar ett slumpmässigt heltal int nextInt(int n)returnerar ett slumptal mellan 0 och n-1 (nextInt(100) returnerar alltså ett tal mellan 0 och 99) boolean nextBoolean()returnerar true eller false double nextDouble()returnerar ett tal mellan 0.0 och 1.0

OOP F4:4 Marie Olsson Ett program som skriver ut 10 slumptal mellan 1 och 100: import java.util.*; class SlumpTest{ public static void main(String[] args){ Random slump = new Random(); for (int x=1; x<=10; x++){ int tal = slump.nextInt(100) + 1; System.out.println(tal); } Obs att metodanropet slump.nextInt(100) returnerar ett slumpmässigt tal i intervallet Vi vill ha ett tal så därför adderar vi 1.

OOP F4:5 Marie Olsson Klassen Math Ligger på java.lang - delbiblioteket. Allt som ligger i java.lang kan användas direkt, man behöver alltså INTE göra: import java.lang.*; I Math-klassen finns ett antal statiska metoder och attribut, t ex static double PIpi med jättemånga decimaler... static int abs(int a)returnerar absolutbeloppet av a static double sqrt(double a)returnerar roten ur a static double pow(double a, double b)returnerar a upphöjt till b plus många fler... Eftersom metoderna är statiska så anropas de utan att man skapar ett Math-objekt: double dd = Math.sqrt(14); double omkrets = Math.PI * diameter;

OOP F4:6 Marie Olsson Klass-metoder kontra instans-metoder Jämförelse av anrop på metoder i Random och Math: Random slump = new Random(); int tal = slump.nextInt(100); double d = 4.876; int x = (int)Math.round(d); En klass-metod är deklarerad som static (även attribut kan vara static) nextInt är en instans- metod. Man måste alltså skapa ett Random-objekt innan nextInt kan anropas round är en klassmetod. static long round(double d); Kan alltså anropas via klassnamnet

OOP F4:7 Marie Olsson Metod-syntax ( ){ metodkropp } int big(int tal1, int tal2){ if (tal1>tal2) return tal1; else return tal2; } kan vara vilken typ som helst. Även arrayer eller objekt kan returneras. Vill man ej returnera något skriver man void är indata till metoden. Man måste skicka med värden som matchar argumentlistan när man anropar metoden. Om inga indata () i metodkroppen skrivs return, där måste matcha metodens returtyp. Return avbryter metoden. Return behöver ej göras göras i metoder som har returtypen void (men man kan skriva return; )

OOP F4:8 Marie Olsson Skriv en metod som returnerar summan av talen som finns i en int-array. Skriv en metod som returnerar index för den ruta där ett visst värde i en int-array finns. int summa(int[]arr){ int sum=0; for (int x=0; x<arr.length; x++) sum+=arr[x]; return sum; } int find(int[]arr, int värde){ for (int x=0; x<arr.length; x++) if (arr[x]==värde) return x; return -1; }

OOP F4:9 Marie Olsson Överlagring Flera metoder kan ha samma namn, skiljs åt genom att de har olika argument. Vilken av metoderna som blir anropad beror på vilket argument som skickas med vid anropet. int beräkna(int x){ return x*3; } int beräkna(String str){ return str.length(); } int beräkna(int x, int y){ return x*y; }