Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

1 App A Java programmering. 2 Enkelt Java-program.

Liknende presentasjoner


Presentasjon om: "1 App A Java programmering. 2 Enkelt Java-program."— Utskrift av presentasjonen:

1 1 App A Java programmering

2 2 Enkelt Java-program

3 3 Variabler / Konstanter

4 4 Primitive datatyper DatatypeByteMinMaxWrapper byte1-2 7 = = 127Byte short = = 32767Short int Integer long Long float41.4… x … x Float double84.9… x … x 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 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 <>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 Hansen Havnegt Olsen Reinv 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


Laste ned ppt "1 App A Java programmering. 2 Enkelt Java-program."

Liknende presentasjoner


Annonser fra Google