Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Referensvariabel Klass och konstruktorer Klass med set- och get-metoder Klass och fält Fler metoder.

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

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.
Programmeringsteknik
Programmeringsteknik Föreläsning 6 Skolan för Datavetenskap och kommunikation.
Klassarv och inkapsling
OOP Objekt-orienterad programmering
Metoder i java Det finns två typer av metoder i java
Föreläsning 4 Python: mera om funktioner och parametrar
Polymorfism.
Programmeringsteknik för K och Media
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Programkodens uppbyggnad
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
TNSL04 – IT grundkurs. VT2008. Föreläsning nr 3, torsdag 7 feb. kl Del 1. Klasser, objekt, metoder, konstruktorer, samlingar och tillstånd. Hur.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Alice in Action with Java
i olika programmeringsspråk
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Föreläsning 11 Arrayer.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Programmering i C# 3. Klasser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Klasser och objekt Klasser, objekt och instansvariabler
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.
4. Arv och dynamisk bindning
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
Räckvidd och synlighet. Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 22 Synlighet (meddelandesändning) Det.
Programmeringsteknik för Media1 & K1
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.
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 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 10 Stränghantering.
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. Ett problem/uppgift.
1 Föreläsning 8 Mer om klasser och objektorientering.
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.
Ö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
Föreläsning 5 Klasser och instanser
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
OOP - teori1 OOP del II– Föreläsning 5 vecka 6. OOP - teori2 Klasser Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle.
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 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Föreläsning 7 Metoder Parametrar Klassmetod.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält som returvärde Sortera fält Söka i fält Tvådimensionella fält Fält och spelplan Föreläsning.
Malmö högskola Rolf Axelsson 2004/2005 DA7350, 10 poäng Fält - Vektor - Array Deklarera, skapa och använda Fält som parameter Föreläsning 9.
DA7351 Programmering 1 Fält och objekt Tvådimensionella fält Sortera fält Föreläsning 13.
Föreläsning Klass Cirkel, Punkt Klassen Object Arv, överskuggning
Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Fält - Vektor - Array Deklarera, skapa och använda Fält som parameter Föreläsning 9.
Malmö högskola Rolf Axelsson 2001/2002 DA7010 Objektorienterad programmering 1, 5 poäng Indentering är viktigt! Efter startparentes, {, ska du indentera.
OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
Malmö högskola Rolf Axelsson 2004/2005 DA7350, 10 poäng char Klassen String Klass och attribut Klass och metoder Föreläsning 30/
1 Mer om metoder, variabler, klasser och objekt. Kursboken: - Kapitel 6 - Kapitel 8.
Föreläsning 8: Exempel och problemlösning
Presentationens avskrift:

Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Referensvariabel Klass och konstruktorer Klass med set- och get-metoder Klass och fält Fler metoder i klassen Föreläsning 12

Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Referensvariabel En variabel vars typ är en klass eller ett fält kallas för en referensvariabel. löpare1, heltal och dectal är exempel på referensvariabler. Deltagare löpare1; int[ ] heltal; double[ ] dectal; Objektet som referensvariabeln refererar till måste skapas med new. Deltagare löpare1 = new Deltagare(); int[ ] heltal = new int[5]; double dectal = new double[10]; Det finns speciella sätt att skapa strängar och fält: int[ ] tal = {23, 89,12};// endast vid initiering String str = ”Hej”;

Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Referensvariabel Referensvariabeln refererar till objektet som adressen på ett brev refererar till huset. Deltagare löpare1 = new Deltagare(); int[ ] heltal = new int[5];

Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Referensvariabel Vid användning av parametrar är det referensen som kopieras. Parametern refererar alltså till samma objekt, inte en kopia: Deltagare löpare1 = new Deltagare(); resultat(löpare1); public static void resultat(Deltagare delt1) { : } Samma sak gäller vid tilldelning: int[ ] heltal = new int[5]; int[ ] tal; : tal = heltal;

Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Konstruktorer Med konstruktorer kan man initiera objekt. public class Deltagare { public String namn; public int tid; public Deltagare(String inNamn) { namn = inNamn; } public Deltagare(String inNamn, int inTid) { namn = inNamn; tid = inTid; } public String toString() { return "Namn="+namn+" Tid="+tid; } } Deltagare löpare1 = new Deltagare(”Bosse”,0); Deltagare löpare2 = new Deltagare(”Eva”); Konstruktorer.java

Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng private attribut och set-och getmetoder Det har visat sig att instansvariabler nästa alltid ska vara private. Detta för att undvika fel i program. public class Deltagare { private String namn; private int tid; public Deltagare(String inNamn) { namn = inNamn; } public Deltagare(String inNamn, int inTid) { namn = inNamn; tid = inTid; } public String toString() { return "Namn="+namn+" Tid="+tid; } } private -deklarerade attribut och metoder är endast tillgängliga inom klassen. Nu fungerar inte Lopare1Klass.java längre. Lopare1Klass.java

Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng private attribut och set-och getmetoder Med hjälp av set- och get-metoder får andra klasser tillgång till attributen. Set-metoder till de attribut som ska kunna ändras och get-metoder för de attribut vars värde ska kunna avläsas. public class DeltagareVer2 { private String namn; private int tid; : public void setNamn(String inNamn) { namn = inNamn; } public String getNamn() { return namn; } public int setTid(int inTid) { tid = inTid; } public int getTid() { return tid; } } DeltagareVer2.java Lopare1KlassVer2.java

Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Fält med objekt Det går bra att använda fält (vektorer) med objekt. Man måste bara komma ihåg att skapa objekten. Deklarera fältet: Deltagare[ ] deltagare = new Deltagare[10]; // 10 referensvariabler Skapa objekten: for(int i=0; i<deltagare.length; i++) { namn = Input.readLine(”Ange namn”); deltagare[i] = new Deltagare(namn); } Varje element i fältet deltagare är referens till ett Deltagare- objekt och används som ett sådant, t.ex. deltagare[i].tid = 23; System.out.println(deltagare[i].namn); System.out.println(deltagare[i].toString()); Lopare3KlassVer2.java Lopare3.java Lopare3Klass.java

Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Fler metoder i klassen Om två deltagares tid ska jämföras kan metoden compareTo vara användbar. compareTo returnerar: 0om bifogad deltagare har lägst tid public class DeltagareVer2 { private String namn; private int tid; : public int compareTo(DeltagareVer2 delt) { if(tid<delt.getTid())// tid<delt.tid går bra return -1; else if(tid==delt.getTid())// tid==delt.tid går bra return 0; else return 1; } } Kortare skrivsätt: public int compareTo(DeltagareVer2 delt) { return tid-delt.getTid(); } LopareSorterat.java