Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.

Slides:



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

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.
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.
Klasser och objekt.
Programmeringsteknik Föreläsning 6 Skolan för Datavetenskap och kommunikation.
Klassarv och inkapsling
Metoder i java Det finns två typer av metoder i java
Föreläsning 4 Python: mera om funktioner och parametrar
Metoder.
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik K och Media
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.
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000.
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
Objektorienterad programmering i Java
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
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Variabler: Datatyp - grundläggande : int, double, char, boolean eller
Programmering i C# 3. Klasser.
Föreläsning 2, Kapitel 2 Att förstå klassdefinitioner Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Klasser och objekt Klasser, objekt och instansvariabler
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.
Föreläsning 10 Minnesbilder. Minnesbilder steg 1 char ch; int[] vek; Bil bilen; Bil int[] char ch vek bilen.
Programmeringsteknik för Media1 & K1
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 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 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
Föreläsning 4 Klasser Och Objekt.
1. Ett problem/uppgift.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
INTRODUKTION TILL PROGRAMMERING
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.
Föreläsning 2. Allmänt STL genererar varningar i Visual C++ –”#pragma warning (disable : 4786)”
Objekt, Klass och Instans Analys av systemet ger mer eller mindre detaljerade objekt Objekten sorteras och klass-diagram ritas upp där relationer reds.
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
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 =
Programmeringsteknik för K och Media
Föreläsning 5 Klasser och instanser
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
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.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
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.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
1 Mer om metoder, variabler, klasser och objekt. Kursboken: - Kapitel 6 - Kapitel 8.
Föreläsning 3: Booleans, if, switch
Föreläsning 5: Att använda klasser & objekt
Presentationens avskrift:

Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt

Klasser De primitiva datatyperna beskriver enkla värden. För att beskriva sammansatta data använder man klasser. En klass fungerar som en mall för objekt. Att skapa ett objekt kallas instansiering (objektet är en instans av klassen). Alla objekt ur klassen har samma metoder och variabler (men inte samma värden på variablerna).

Objekt Ett objekt har –variabler –metoder T ex har ett Rectangle-objekt –variabeln width –variabeln height –metod för att växa: grow() –metod för att hämta läget: getLocation()

Skapa objekt med new I satsen nedan skapas ett nytt objekt: Rectangle bred = new Rectangle(40,15); bred är en referensvariabel som håller reda på var i minnet objektet lagrats. bred Rectangle Rectangle-objekt width height int 40 15

Konstruktor En konstruktor används för att ge objektets variabler värden när objektet skapas. Konstruktorn är en metod som har samma namn som klassen. Rectangle bred = new Rectangle(40,15); En klass kan ha flera olika konstruktorer. Rectangle bred = new Rectangle(); Rectangle bred=new Rectangle(0,0,40,15);

Hur skriver man en egen klass? I klassen deklarerar man: –Variabler –Konstruktorer –Metoder Alla satser (t ex tilldelning, utskrift, beräkning) måste ligga inuti någon av metoderna, eller i konstruktorn.

Variabler i en klass Tre olika sorters variabler förekommer: Instansvariabler –Har olika värden i olika objekt (instanser) Klassvariabler –En gemensam variabel för alla objekt ur klassen –Deklareras med static Lokala variabler –Deklareras inuti metoder och existerar bara där

Exempel Två instansvariabler class Bil { String färg; double pris; En parameter och en lokal variabel double specialpris(int rabattprocent) { double rabattfaktor;

Deklarera en konstruktor Konstruktorn har samma namn som klassen. Efter namnet skrivs en parentes med formella parametrars typ och namn. Parametrarna brukar användas för att ge startvärden till klassens instansvariabler. Normalt består en konstruktor av tilldelningssatser som ger instansvariablerna värden.

Exempel Bil(String nyFärg, double nyPris) { färg = nyFärg; pris = nyPris; } // konstruktorn Bil

Deklarera en metod Metoddeklarationshuvud –static för klassmetod –Returvärdets typ/klass eller void –Metodens namn –Formella parametrars typ/klass och namn,inom () Metodens kropp, inom {} –Deklaration av lokala variabler –Satser –Retursats (ej för void-metod). Det värde som returneras måste vara av samma typ som angavs i början av huvudet.

Exempel double specialpris(int rabattprocent) { double rabattfaktor; rabattfaktor = 1.0-rabattprocent/100.0; return pris*rabattfaktor; } // metoden specialpris

class BerrasBegBilar { public static void main(String[] args) { Bil fiesta = new Bil("röd",33000); Bil citroen = new Bil("gul",20000); fiesta.reklam(); citroen.reklam(); }//metoden main } //Huvudklassen BerrasBegBilar class Bil { // Här deklareras instansvariabler och klassvariabler String färg; double pris; // Här deklareras konstruktorn Bil(String nyFärg, double nyPris) { färg = nyFärg; pris = nyPris; } // konstruktorn Bil // Här deklareras två metoder, reklam() och specialpris() void reklam() { System.out.println("En läckert " + färg + " bil"); System.out.println("som kostat " + pris); } // metoden reklam double specialpris(int rabattprocent) { double rabattfaktor = 1.0-rabattprocent/100.0; return pris*rabattfaktor; } // metoden specialpris } // klassen Bil

fiesta Bil Bil-objekt färg pris double String röd String-objekt