1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.

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.
Imperativ Programmering
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.
Ö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
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.
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.
Objektorienterad programmering i Java
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT CD5250 OOP med C++
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.
Föreläsning 10 Minnesbilder. Minnesbilder steg 1 char ch; int[] vek; Bil bilen; Bil int[] char ch vek bilen.
Arv.
Programmeringsteknik för Media1 & K1
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
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.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
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.
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.
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.
F6 - Pekare 1 Programmeringsteknik, 4p vt-00 Pekare & adresser Alla variabler är knutna till en viss adress i minnet int i; adressen till denna fås med.
Föreläsning 7 Programmeringsteknik och Matlab DD1315 Kommandotolk parametrar Klass Instans Metod konstruktor.
1 Föreläsning 8 Mer om klasser och objektorientering.
7. Delegerare och notifierare
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 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.
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.
OOP&M - teori1 OOP del II– Föreläsning 2 vecka 46 Konstruktorer Instansmetoder Kapitel 14 i kursboken.
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.
OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
1 Mer om metoder, variabler, klasser och objekt. Kursboken: - Kapitel 6 - Kapitel 8.
Presentationens avskrift:

1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder

2 Array och ArrayList Arrayer och ArrayList är till för att innehålla en massa värde Eftersom alla värde har ett index så passar bra om man använder de med slingor Man ska vara försiktig och inte missbruka arrayer för att hålla samman två värde.

3 Klass och instans (objekt) En klass är en mall för ett objekt t.ex. bil, konto Ett objekt är en instans av en klass t.ex. den röda bilen, mitt lönekonto att skapa objekt i java: kännetecken (oftast): new t.ex. BufferedReader stdin = new BufferedReader(.... undantag: i java API den enda klass som inte behöver ”new” för att skapa ett objekt är klassen ”String” t.ex. String namn = ”Vahid” String namn = new String(”Vahid”);

4 Instansvariabler och instansmetoder class Person { String name; byte age; String mailAddress; public Person(String n, byte a,String m){ name=n; age=a; mailAddress=m; } public String getName(){ return name; } public byte getAge(){ return age; } public String getMailAddress(){ return mailAddress; } Deklaration av instansmetoder Deklaration av instansvariabler Deklaration av konstruktör

5 2.16) Fördela följande till klasser och objekt a)En bok b)Boken Java från grunden c)Min kopia av Java från grunden d)Min hund e)Bilden av min hund medan han biter postmannen f)En bil g)En Chrysler a) b) c) d) e) f) g)

6 Referenser Alla variabler som används för att komma åt ett objekt är referenser. En referensvariabel innehåller inga värde däremot adressen till någon minnesutrymme där instansen befinner sig. exempel: String str =” hej”; //str är en referens variabel som pekar på en instans av String. men int tal = 2; // tal är en variabel som har värdet 2. En referens kan endast referera (peka) till en instans åt gången alltså inte mer än en instans. En instans kan refereras (pekas) av många referenser (pekare).

7 Följande kan alltså aldrig hända refVar Ett objekt Ett annat objekt

8 str1 = ”prgmedcl”; String str1; String str2; str2 = str1; kodMinnesbild str1 null ”prgmedcl” str2 null tal 30 tal2 int tal = 30; int tal2 = tal1;

9 Deklaration av variabel1 (klassvariabler) Deklaration av metode1 (){ deklaration av lokala variabler... } Deklaration av klass { Deklaration av variabel2 (klassvariabler) Deklaration av metode2 (){ deklaration av lokala variabler... } Flera instansmetoder, klassmetoder och konstruktorer kan deklareras här … Flera instansvariabler eller klassvariabler kan deklareras här … } Programkodens uppbyggnad

10 Variabler En variabel kan vara någon av följande: Klassvariabel Instansvariabel Lokalvariabel

11 Kännetecken för variabler Kännetecken för en klassvariabel är: 1. deklareras med nyckelordet static 2. deklareras alltid utanför alla metoder men inom klassen Kännetecken för en instansvariabel är: 1. deklareras INTE med nyckelordet static 2. deklareras alltid utanför alla metoder men inom klassen Kännetecken för en lokalvariabel är: 1. deklareras INTE nyckelordet static 2. deklareras alltid inom en metod eller som formell parameter

12 Variablerdeklareras instansvariabler1.utanför metoder 2. utan static klassvariabler1.utanför metoder 2.med static lokala variabler1.inuti en metod 2.utan static

13 Metoder En metod kan antingen vara en Klassmetod Instansmetod Konstruktor

14 Kännetecken för metoder Kännetecken för en klassmetod är att: 1. deklareras med nyckelordet static 2. har en returtyp Kännetecken för en instansmetod är att: 1. deklareras INTE med nyckelordet static 2. har en returtyp Kännetecken för en konstruktor är att: 1. deklareras INTE med nyckelordet static 2. har ingen returtyp och har samma namn som klassen

15 Metoddeklareras Klassmetod med static med returtyp Instansmetod utan static med returtyp Konstruktor utan static utan returtyp samma namn som klassen

16 public och private private – globala variabler och metoder som man bara kommer åt i samma klass. private double pris; public – globala variabler och metoder som man kommer åt även från andra klasser. public void reklam(); En väluppfostrad programmerare deklarerar alla sina instansvariabler som private !

17 Klassmetoder Normalt anropas alltid en metod via ett objekt (en instans av klassen). Color röd = new Color(255,0,0); Color mörkröd = röd.darker(); Om en metod deklareras med static kan den anropas direkt från klassen - utan att man behöver skapa något objekt. double x = Math.sqrt(17); En klassmetod kan använda klassvariabler men inte instansvariabler.

18 Static när och varför? P-HUS 200 nokia limpa BMW PC för 5000

19 P-HUS 200 nokia limpa BMW PC för 5000 Static när och varför?

20 P-HUS 200 nokia limpa BMW PC för 5000 Static när och varför?

21 P-HUS 199 limpa BMW 199 PC för nokia Static när och varför?