Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
1
1 App A Java programmering
2
2 Enkelt Java-program
3
3 Variabler / Konstanter
4
4 Primitive datatyper DatatypeByteMinMaxWrapper byte1-2 7 = 1282 7 -1 = 127Byte short2-2 15 = -327682 15 -1= 32767Short int4-2 31 2 31 -1Integer long8-2 63 2 63 -1Long float41.4… x 10 -45 3.4… x 10 38 Float double84.9… x 10 -324 1.7… x 10 308 Double char20x00xffffCharacter boolean(false/true)Boolean
5
5 Aritmetiske operatorer OperatorKommentarEksempel +Addisjon4+ 7 -Subtraksjon5 - 3 *Multiplikasjon3* 4 /Divisjon8 / 2 %Modulus7%4
6
6 Tilordnings-operatorer UttrykkBetydning x += yx = x+ y x -= yx = x - y x *= yx = x * y x /= yx = x / y
7
7 Innlesing fra tastatur
8
8 Selection if - else
9
9 Selection switch
10
10 Sammenlignings-operatorer OperatorKommentarEksempel ==Likx == 3 !=Ikke likx != 3 <Mindre ennx < 3 >Større ennx >3 <=Mindre enn eller likx <=3 >=Større enn eller likx >= 3
11
11 Logiske operatorer OperatorBetydning &&LogiskAND ||LogiskOR ^LogiskXOR !LogiskNOT
12
12 Bitvise operatorer OperatorBetydning &BitvisAND |Bitvis OR ^Bitvis XOR <<Left shift >>Right shift >>>Zero fill right shift -Bitviscomplement <<=Left shift assignment (x = x << y) >>=Rightshift assignment (x = x >> y) >>>=Zero fill right shift assignment ( x = x >>>y) x&=yAND assignment (x = x & y) x|=yORassignment (x = x | y) x^=yXORassignment (x = x ^ y)
13
13 Operator prioritet OperatorBetydning. [ ] ( )Dot, array, parentes ++ -- ! - instanceofIncrement, decrement, not, complement, forekomst av * / %Multiplikasjon, divisjon, modulus + - Addisjon, subtraksjon > >>>Bitvis left shift and right shift =Sammenligningsoperatorer == !=Lik, ulik &AND ^XOR |OR &&LogiskAND ||LogiskOR ? :Forkortet if … then … else = += -= *= /= %= ^=Tilordning &= |= >= >>>=
14
14 Loop for
15
15 Loop while
16
16 Loop do - while
17
17 Array
18
18 Function
19
19 Rekursjon - Eks: Beregning av n-fakultet
20
20 Lesing fra fil
21
21 Objektorientering (OO)1/5 Objektorientering er en grunnleggende måte å organisere komplekse fenomener på
22
22 Objektorientering (OO)2/5 Norske pionerer Grunnleggere av det første objektorienterte dataspråk, Simula: Kristen Nygaard og Ole-Johan Dahl. Nobel Prize of Computing: A. M. Turing Award
23
23 Objektorientering (OO)3/5 Window eksempel Klassen clsDataField er tillagt egenskapen magenta bakgrunnsfarge.
24
24 Objektorientering (OO)4/5 KlasseDeklarasjon av data + operasjoner på ‘gjenstander’ av en gitt type ObjektEn forekomst (variabel) av en klasse Klasse Objekt Abstrakt nivå Fysisk nivå
25
25 Objektorientering (OO)5/5 Data Ansatt Nr Navn Adresse Tlf... Metoder Add_AnsNr Add_Navn Add_Adress Add_Tlf Get_AnsNr BeregnLonn... 3 Nilsen Storgt 7 37088888 5 Hansen Havnegt 8 37055555 7 Olsen Reinv 9 37022222 Data gir duplikater for hvert objekt Metodene deles av objektene Klassen Ansatt Objekt 2Objekt 3Objekt 1
26
26 Objektorientert programmering (OOP) La objektene ta hånd om seg selv (intern struktur,...). Kommuniser med objektene via et grensesnitt som er uavhengig av intern struktur i objektene. Objekt Grensesnitt Melding
27
27 class / object - main
28
28 class / object - class A
29
29 Primitive typer 3 5 x y y = x 3 3 x y if (y == x) falsetrue
30
30 Referensetyper.. x y y = x.. x y if (y == x) falsetrue if (y.equals(x))
31
31 Parameteroverføring Overføring av primitive typer. Pass by value. Overføring av referense typer. Pass by reference. int x = 3 f(x) f(int y) 3 3 x y A x f(x) f(A y). x y
32
32 Klassemedlemmer public class A{// klasse A privateint x;// attributt x public A( ) {// kontruktør this(0) } public A(int v1) {// konstruktør x=v1; } public setX(int v) {// accessor x = v; } public int getX( ) {// mutator return x; }
33
33 Aksesskontroll1/4 privateTilgang kun av klassen selv protectedTilgang kun av klassen selv samt arvede klasser publicTilgang av alle Tilgang innenfor gjeldende pakke
34
34 Aksesskontroll2/4 private:Strengeste aksess-kontroll. Kun funksjoner i klassen selv kan aksessere et private klasse-medlem. Avledede klasser eller forekomster har ingen aksess til private medlemmer i en parent-klasse. protected:Kun klassen selv eller avledede klassers funksjoner har aksess til protected medlemmer. Forekomster har ingen aksess til protected medlemmer. public:Medlemmer deklarert vha public har man ubegrenset aksess til, dvs public medlemmer kan aksesseres av en hvilken som helst funksjon.
35
35 Aksesskontroll3/4 ä Attributter skal skjules for brukeren av klassen. ä Brukeren av klassen skal ikke ha tilgang til informasjon om klassens interne struktur. ä Brukeren skal benytte en protokoll til klassen. - Brukeren sender meldinger til objektet. - Brukeren kaller metodene. Informasjons-skjuling Nr Navn Init GetNr GetNavn
36
36 Aksesskontroll4/4 Base Class Derived Class Other Class or Object private protected public
37
37 Arv-Base class / Derived class A B Base class Derived class
38
38 Arv-Eksempel Person Ansatt Selger Navn Fødselsdato Navn Fødselsdato Avdeling Timelønn Beregning av lønn Navn Fødselsdato Avdeling Timelønn Beregning av lønn Salgsdistrikt Bonus Arvet fra Person Arvet fra Ansatt
39
39 Arv-Klassehierarki Transportmiddel Sykkel Bil Tog Fly Trehjul- sykkel Trehjul- sykkel Tandem Person- bil Person- bil Laste- bil Laste- bil
40
40 Arv - Akesess-kontroll 1 Private 2 Protected 3 Public Base class A 2 Protected 3 Public Derived class B Derived class C Forekomst av B
41
41 Arv - Klassehierarki-diagram Concrete classAbstract class Interface extends Interface extends Interface implements Concrete class extends Concrete class
42
42 Arv - main
43
43 Arv - class A (1/2)
44
44 Arv - class A (2/2)
45
45 Arv - class B extends A (1/2)
46
46 Arv - class B extends A (2/2)
47
47 Arv og polymorfi public class A{ public f (…) { … } public class B extends A { public f (…) { … } A B A a = new A(…) a.f(…) // eksekverer A sin f B b1 = new B(…) A b2 = new B(…) b1.f(…) // eksekverer B sin f b2.f(…)// eksekverer B sin f
48
48 PolymorfiFigur (getAreal) Figur getAreal..... Trekant getAreal..... Sirkel getAreal..... Figur s = new Sirkel(…) s.getAreal( )
49
49 PolymorfiFigur (flytt) Figur flytt TrekantSirkel Figur s = new Sirkel(…) s.flytt( ) skjul nyeKoord vis skjul vis skjul vis
50
50 Interface - Abstrakte klasser main
51
51 Interface - Abstrakte klasser interface I_A
52
52 Interface - Abstrakte klasser abstract class A_A (1/2)
53
53 Interface - Abstrakte klasser abstract class A_A (2/2)
54
54 Interface - Abstrakte klasser class A
55
55 Indre klasser (non-static) public class A{ int y; public class B {// B eksisterer kun innenfor A int x; void f( ) { …// this refererer til B …// A.this refererer til A } B kan instantieres kun av en ikke-statisk metode innenfor A. B kan aksessere alle medlemmer av A og B direkte.
56
56 Indre klasser (static) public class A{ int y; public static class B {// B kan eksistere alene int x; void f( ) { …// this refererer til B …// A.this refererer til A } B kan eksistere alene (uten A-forekomst)og kan instantieres ved A.B b = A.B( ). Deretter kan f eksekveres ved b.f( ). B kan kun aksessere static medlemmer av A.
57
57 Indre klasser - main
58
58 Indre klasser - class A (1/3)
59
59 Indre klasser - class A (2/3)
60
60 Indre klasser - class A (3/3)
61
61 ENDEND
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.