EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

Relevanta dokument
EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Föreläsning 5-6 Innehåll

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1-2 innehåll

Exempel på program med objekt Klass med main-metod. Föreläsning 3-4 Innehåll. Övning Viktiga begrepp

Föreläsning 13 Innehåll

Föreläsning REPETITION & EXTENTA

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

Föreläsning 9-10 Innehåll

Föreläsning 3-4 Innehåll

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Föreläsning Innehåll. Hantera många element. Exempel: polygon Godtyckligt antal element. Exempel: polygon forts

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Java, klasser, objekt (Skansholm: Kapitel 2)

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

public och private Obs: private inte skyddar mot access från andra objekt i samma klass.

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

Programexempel: tärningsspel. Programexempel: tärningsspel Kasta tärning tills etta. Klassen Die Specifikation. Slumptalsgenerator Klassen Random

Inkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Kort om klasser och objekt En introduktion till GUI-programmering i Java

F4. programmeringsteknik och Matlab

Övningar Dag 2 En första klass

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Grundläggande programmering med C# 7,5 högskolepoäng

1 Egna klasser. 1.1 En punkt-klass

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Lab5 för prgmedcl04 Grafik

Programmering för språkteknologer I, VT2012. Rum

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

JAVA Mer om klasser och objektorientering

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt

Objektorienterad programmering i Java

"if"-satsen. Inledande programmering med C# (1DV402)

Tentamen OOP

Föreläsning 2, vecka 8: Repetition

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Objektorienterad Programmering (TDDC77)

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

Objekt-orientering. Java är ett objekt-orienterat programmeringsspråk

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Enkla variabler kontra referensvariabel

Föreläsning 1: Intro till kursen och programmering

1 Repetition av viktiga begrepp inom objektorienterad programmering

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Objektorienterad programmering i Java

Repetition av viktiga begrepp inom objektorienterad programmering

Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Klassdeklaration. Metoddeklaration. Parameteröverföring

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Objektorienterad programmering (OOP) Föreläsning 15 & 16. Klasser för olika slags fordon. Klasser och objekt

Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Objektorienterad programmering i Java

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Malmö högskola 2008/2009 CTS

JAVAUTVECKLING LEKTION 4

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Föreläsning 7-8 Innehåll

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

2 Eclipse en handledning

Eclipse en handledning

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

Programmering för språkteknologer II, HT2011. Rum

Chapter 4: Writing Classes/ Att skriva egna klasser.

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Objekt som argument. Föreläsning 7-8 Innehåll. Hur komma åt den andra kvadratens attribut? Anropa metod på objektet självt

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Föreläsning 1: Intro till kursen och programmering

Objekt och referenser

Editering, Kompilering och Exekvering av Javaprogram

Föreläsning 6: Metoder och fält (arrays)

Laboration 1 - Grunderna för OOP i Java

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

Föreläsnings 9 - Exceptions, I/O

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

JAVAUTVECKLING LEKTION 11

Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering

Transkript:

EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade kursprogrammet. Vad du ska lära dig: Programmering Lösa problem med hjälp av dator Grundläggande programmering Grundläggande objektorientering och programspråket Java Databaser Lagra data i relationsdatabaser Använda SQL för att hämta data från databaser EDAA20 (F1-2 programmering) HT 2015 1 / 48 EDAA20 (F1-2 programmering) HT 2015 2 / 48 Föreläsning 1-2 Innehåll Checklista Introduktion till programmering Introduktion vad är programmering? Praktisk information om kursen Skriva små program i programspråket Java Skriva program som använder färdiga klasser Undervisningsmoment: föreläsning 1-2 övning 1 laboration 1-2 Eempel på vad du ska kunna Förklara begreppen: algoritm, program, kompilering, eekvering. Skriva enkla program som använder färdiga klasser. deklarera variabler och tilldela dem värden skapa och använda objekt använda if-, for- och while-satser läsa in värden från tangentbordet, skriva ut på skärmen Editera, kompilera och eekvera program. Avsnitt i läroboken: 1-3.2, 4 EDAA20 (F1-2 programmering) HT 2015 3 / 48 EDAA20 (F1-2 programmering) HT 2015 4 / 48

Algoritm Eempel på en algoritm Definition En följd av instruktioner som beskriver hur man ska göra för att lösa ett problem. Eempel: matrecept program Problem: Beräkna summan av talen 12.5 och 0.7 och skriv ut summan. Algoritm: Tal nr 1 är 12.5 Tal nr 2 är 0.7 Summan = tal nr 1 + tal nr 2 Skriv ut summan EDAA20 (F1-2 programmering) HT 2015 5 / 48 EDAA20 (F1-2 programmering) HT 2015 6 / 48 Eempel på programkod Program Problem: Beräkna summan av talen 12.5 och 0.7 och skriv ut summan. Programkod: double nbr1 = 12.5; double nbr2 = 0.7; double sum = nbr1 + nbr2; Sstem.out.println("Summan av talen är " + sum); Definition Stegvisa instruktioner till datorn som beskriver hur ett problem ska lösas. I instruktionerna manipuleras information (data) Instruktionerna skrivs i ett programspråk, t e Java. EDAA20 (F1-2 programmering) HT 2015 7 / 48 EDAA20 (F1-2 programmering) HT 2015 8 / 48

Eempel på ett Javaprogram Editera - kompilera - eekvera programmets namn public class Calculator { public static void main(string[] args) { double nbr1 = 12.5; double nbr2 = 0.7; double sum = nbr1 + nbr2; Sstem.out.println("Summan av talen är " + sum); satser som utförs vid eekveringen Detta är ett litet, men fullständigt program, som beräknar summan av två tal och skriver ut det i konsolfönstret datorns skärm. Editera Skriv in programkoden och spara i en fil vars namn har tillägget.java. Kompilera Programkoden kontrolleras. Om koden är korrekt (dvs. inte brter mot språkets grammatik) översätts den till btekod. Btekoden lagras i en fil vars namn har tillägget.class. Eekvera Programmet körs, dvs. btekodsinstruktionerna i programmet utförs. EDAA20 (F1-2 programmering) HT 2015 9 / 48 EDAA20 (F1-2 programmering) HT 2015 10 / 48 Editera - kompilera - eekvera Objektorientering Editera Större datorprogram måste delas upp i hanterliga delar. Man kan inte hålla tusentals programrader i huvudet samtidigt! Calculator.java Kompilera Calculator.class Eekvera Rätta kompileringsfel Rätta eekveringsfel, logiska fel, ändra Objektorientering är ett sätt att göra detta. Man utgår från de data programmet ska arbeta med, alltså de verkliga saker (objekt) som finns i problemet. I programmet skriver man klasser som innehåller programkod som beskriver dessa objekt. Objektorientering har varit populärt sedan slutet av 80-talet. Eempel på språk: Simula (1967), Smalltalk, C++, Java etc. EDAA20 (F1-2 programmering) HT 2015 11 / 48 EDAA20 (F1-2 programmering) HT 2015 12 / 48

Eempel på program med objekt Datorns delar public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600, 600, "Square"); Square sq = new Square(20, 10, 40); sq.draw(w); sq.draw(w); Vad händer när man kör programmet? Processor eller CPU (central processing unit) den enhet i datorn som utför instruktioner. Primärminne används för att lagra program och dess data när programmen används. Sekundärminne, t e hårddisk där man lagrar program och data när de inte används. In- och utenheter, t e skärm, tangentbord, mus för att kommunicera med människor. Kommunikationskanaler för att kommunicera med andra datorer eller apparater. EDAA20 (F1-2 programmering) HT 2015 13 / 48 EDAA20 (F1-2 programmering) HT 2015 14 / 48 Variabel Tilldelningssats Variabler används för att lagra värden som programmet måste komma ihåg. Variablerna måste deklareras. Variabler har en datatp och ett namn. Namnet representerar ett värde i minnet. Vi använder namnet istället för värdet. Ientilldelningssatsgermanenvariabelettnttvärde. Eempel: double nbr1 = 12.5; double nbr2 = 0.7; double sum = nbr1 + nbr2; variabel uttrck nbr1 nbr2 sum 12.5 0.7 13.2 tp namn Eempel: double nbr1; nbr1 Variabeln och uttrcket måste ha samma tp (några undantag finns) EDAA20 (F1-2 programmering) HT 2015 16 / 48 EDAA20 (F1-2 programmering) HT 2015 15 / 48

Variabler i datorns minne Övning Tilldelningssatser Variablernas värden lagras i datorns primärminne. Minnet är uppdelat i olika minnesceller. Vid deklarationen av en variabel reserveras det plats för variabeln i minnet. Vid tilldelning läggs variabelns värde i motsvarande minnescell/er. nbr1 12.5 nbr2 0.7 sum 13.2 5200 5208 5216 Vilka värden har variablerna när följande satser eekverats: int u,,, z; = 10; = 2 * + 1; z = ( + ) + ( - ); = + 1; u z EDAA20 (F1-2 programmering) HT 2015 17 / 48 EDAA20 (F1-2 programmering) HT 2015 18 / 48 Programmet Calculator Förbättrad version Inläsning från tangentbordet import java.util.scanner; public class Calculator { public static void main(string[] args) { Sstem.out.println("Skriv två tal"); Scanner scan = new Scanner(Sstem.in); double nbr1 = scan.netdouble(); double nbr2 = scan.netdouble(); double sum = nbr1 + nbr2; Sstem.out.println("Summan av talen är " + sum); Skapa först en Scanner-objekt som ska användas för att läsa från tangentbordet: Scanner scan = new Scanner(Sstem.in); Med scan.netdouble() läser man nästa tal (av tpen double) som skrivs på tangentordet: nbr1 = scan.netdouble(); nbr2 = scan.netdouble(); EDAA20 (F1-2 programmering) HT 2015 19 / 48 EDAA20 (F1-2 programmering) HT 2015 20 / 48

Import-sats Utskrift i konsolfönstret Genom att skriva en import-sats först i filen talar vi om att vi kommer att använda en klass från ett klasspaket (en samling redan färdiga klasser). import java.util.scanner; I det här eemplet importeras klassen Scanner som används för inläsning från tangenbordet. Utskrift av en teckensträng (omges av citationstecken): Sstem.out.println("Skriv två tal"); Utskrift av en variabels värde (OBS! inga citationstecken): Sstem.out.println(sum); Flera saker kan skrivas ut i samma println-sats (med + mellan). Sstem.out.println("Summan av talen är " + sum); EDAA20 (F1-2 programmering) HT 2015 21 / 48 EDAA20 (F1-2 programmering) HT 2015 22 / 48 Alternativ Eempel Alternativ Mönster if (villkor) { satser; // utförs om villkoret är uppfllt Scanner scan = new Scanner(Sstem.in); double nbr1 = scan.netdouble(); int nbr2 = scan.netint(); if (nbr2!= 0) { Sstem.out.println("Kvoten mellan talen är " + (nbr1 / nbr2)); else { Sstem.out.println("Du försökte dividera med 0."); EDAA20 (F1-2 programmering) HT 2015 23 / 48 if (villkor) { satser; // utförs om villkoret är uppfllt else { satser; // utförs annars if (villkor 1) { satser; // utförs om villkor 1 är uppfllt else if (villkor 2) { satser; // utförs annars om villkor 2 är uppfllt else { satser; // utförs annars EDAA20 (F1-2 programmering) HT 2015 24 / 48

Repetition ett bestämt antal gånger Eempel Repetition ett okänt antal gånger Eempel Scanner scan = new Scanner(Sstem.in); int sum = 0; for (int i = 1; i <= 5; i++) { sum = sum + scan.netint(); Sstem.out.println(sum); Scanner scan = new Scanner(Sstem.in); int sum = 0; while (scan.hasnetint()) { sum = sum + scan.netint(); Sstem.out.println(sum); EDAA20 (F1-2 programmering) HT 2015 25 / 48 EDAA20 (F1-2 programmering) HT 2015 26 / 48 Repetition Mönster ett bestämt antal gånger: for (int i = start; i <= slut; i++) { satser; // utförs för i-värdena start, start+1, // start+2,, slut. så länge ett villkor är uppfllt: while (villkor) { satser; Övning Repetition Skriv satser för att beräkna och skriva ut summan 1 + 2 + 3 + 4 + + 50 Skriv satser för att beräkna och skriva ut summan 2 + 4 + 6 + 8 + + 50 EDAA20 (F1-2 programmering) HT 2015 27 / 48 EDAA20 (F1-2 programmering) HT 2015 28 / 48

Eempel på program med objekt Repris Objekt Vi ska se närmare på vad som händer i detta program där vi skapar och använder objekt: public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600, 600, "Square"); Square sq = new Square(20, 10, 40); sq.draw(w); sq.draw(w); Objekt motsvarar verkliga eller tänkta saker. E: kvadrater, fönster, bankkonton, Ett objekt har attribut. E: En kvadrat har en sidlängd och ett läge, ett fönster har bredd och höjd, ett bankkonto har ett kontonummer och ett saldo, Man kan utföra metoder på objekt. E: fltta en kvadrat, sätta in pengar på ett bankkonto,... EDAA20 (F1-2 programmering) HT 2015 29 / 48 EDAA20 (F1-2 programmering) HT 2015 30 / 48 Eempel: kvadratobjekt Tilldelningssatser Klass Attribut: läge, sidlängd side 20 Objekt av samma tp beskrivs i en klass. Till eempel kan man skriva en klass Square som beskriver kvadrater. Metoder: fltta move beräkna arean getarea rita draw side 10 40 Klassen innehåller programkod för att deklarera attributen och för vad som ska hända i de olika metoderna. Till att börja med använder vi färdigskrivna klasser. Senare ska vi se hur man skriver egna klasser. EDAA20 (F1-2 programmering) HT 2015 31 / 48 EDAA20 (F1-2 programmering) HT 2015 32 / 48

Skapa objekt Objekt i datorns minne I programmet skapar man objekt genom att skriva new Klassnamn(lista med aktuella parametrar) Eempel: Skapa en kvadrat med läget 20,10 och sidlängden 40: new Square(20, 10, 40) Skapa ett ritfönster med bredden 600 pilar, höjden 600 pilar och med rubriken Square: new SimpleWindow(600, 600, "Square") När ett objekt skapas reserveras det plats för objektets attribut i datorns minne. Eempel på hur ett kvadratobjekt lagras i minnet: 20 10 side 40 47540 47544 47548 Numren på minnescellerna (adresserna) är bara eempel och ingenting vi normalt behöver tänka på. EDAA20 (F1-2 programmering) HT 2015 34 / 48 EDAA20 (F1-2 programmering) HT 2015 33 / 48 Referensvariabel Referensvariabel och objekt i datorns minne Vi behöver ett namn på objektet. Därför kopplar vi en referensvariabel till objektet. En referensvariabel kan innehålla en referens till ett objekt. Eempel: Variabeln sq refererar till ett kvadratobjekt: Det som egentligen lagras i en referensvariabel är ett heltal adressen till det objekt referensvariabeln refererar till. Pilen vi ritat i föregående bild är motsvarar denna adress. Eempel på hur variabeln sq och det kvadratobjekt sq refererar till kan lagras i minnet. sq side 20 10 40 sq 47540 5200 20 10 side 40 47540 47544 47548 EDAA20 (F1-2 programmering) HT 2015 35 / 48 EDAA20 (F1-2 programmering) HT 2015 36 / 48

Deklarera referensvariabler Referenstilldelning Alla variabler måste deklareras innan man använder dem och få en tp och ett namn. Variabeln sq kan tilldelas en referens till ett kvadratobjekt: En referensvariabel har en klass som tp. Tpen bestämmer vilka slags objekt variabeln får referera till. Eempel: En variabel av tpen Square får referera till ett Square-objekt: sq side 20 10 40 tp namn Square sq; sq Ofta gör man deklarationen och tilldelningen i samma sats: Square sq = new Square(20, 10, 40); EDAA20 (F1-2 programmering) HT 2015 37 / 48 EDAA20 (F1-2 programmering) HT 2015 38 / 48 Anropa metoder på objekt Referenstilldelning Värdet null Man kan be ett objekt att utföra något genom att anropa en metod. Eempel: fltta kvadraten 30 piels i -led och 10 piels i -led. En referensvariabel kan även tilldelas värdet null och refererar då inte till något objekt: sq = null; sq null side 20 50 10 20 40 Om referensvariablen har värdet null kan man inte anropa en metod på den. sq EDAA20 (F1-2 programmering) HT 2015 39 / 48 EDAA20 (F1-2 programmering) HT 2015 40 / 48

Referenstilldelning Övning Fll i värden på variabler och attribut när följande satser eekverats: Square sq1 = new Square(25, 25, 50); Square sq2 = new Square(10, 10, 20); sq1 = sq2; sq1.move(50, 50); sq1 sq2 EDAA20 (F1-2 programmering) HT 2015 41 / 48 side side Specifikation För att kunna skapa och använda objekt av en klass måste vi få information om klassen; vilka metoder som finns och vilka parametrar som ska skickas med. En specifikation är en beskrivning av klassens metoder med en kort beskrivning av vad metoden gör. metodens returtp. metodens namn. de formella parametrarna och deras tper. Eempel: /** Flttar kvadraten avståndet d i -led, d i -led. */ void move(int d, int d); EDAA20 (F1-2 programmering) HT 2015 42 / 48 Specifikation Square /** Skapar en kvadrat med övre vänstra hörnet i, och med sidlängden side. */ Square(int, int, int side); /** Ritar kvadraten i fönstret w. */ void draw(simplewindow w); /** Flttar kvadraten avståndet d i -led, d i -led. */ void move(int d, int d); /** Tar reda på -koordinaten för kvadratens läge. */ int getx(); /** Tar reda på -koordinaten för kvadratens läge. */ int gety(); /** Tar reda på kvadratens area. */ int getarea(); EDAA20 (F1-2 programmering) HT 2015 43 / 48 Metoder Konstruktor /** Skapar en kvadrat med övre vänstra hörnet i, och med sidlängden side. */ Square(int, int, int side); konstruktorns namn samma som klassen formella parametrar tp och namn Konstruktorn används när man skapar ett na objekt med new Eempel: Square sq = new Square(20, 10, 40); En klass kan ha flera konstruktorer (som skiljer sig åt när det gäller parametrarna). EDAA20 (F1-2 programmering) HT 2015 44 / 48

Metoder returtp - void betder att metoden inte returnerar något /** Ritar kvadraten i fönstret w. */ void draw(simplewindow w); /** Flttar kvadraten avståndet d i -led, d i -led. */ void move(int d, int d); metodens namn formella parametrar tp och namn Eempel på användning: EDAA20 (F1-2 programmering) HT 2015 45 / 48 Metoder Metoder som returnerar värden returtp - tp på det värde som returneras **/ Tar reda på -koordinaten för kvadratens läge. */ int getx(); /** Tar reda på -koordinaten för kvadratens läge. */ int gety(); /** Tar reda på kvadratens area. */ int getarea(); Eempel på användning: Sstem.out.println("Kvadratens area: " + sq.getarea()); int a = sq.getarea(); EDAA20 (F1-2 programmering) HT 2015 46 / 48 Anropa metoder Sammanfattning Övning Hitta fel När vi anropar en metod använder vi punktnotation: referens.metodnamn(lista med aktuella parametrar); Eempel: Square sq = new Square(20, 10, 40); int a = sq.getarea(); Observera att parenteserna ska vara med även om inga aktuella parametrar ska skickas med. OBS! I nedanstående kod finns några fel: Rätta till felen: Square sq = new Square(20, 10); sq.draw(w); SimpleWindow w = new SimpleWindow(600, 600, "Square"); sq.draw(w); Sstem.out.println("Arean: " + w.getarea()); De värden som skickas in till metoden kallas aktuella parametrar eller argument. EDAA20 (F1-2 programmering) HT 2015 47 / 48 EDAA20 (F1-2 programmering) HT 2015 48 / 48