Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.

Slides:



Advertisements
Verwante presentaties
Het type int Tekenen met Java operatoren
Advertisements

Hoofdstuk 2 Hallo, C# !.
GESPRG Les 7 Gestructureerd programmeren in C. 92 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int.
Imperatief programmeren nProgramma bestaat uit nRunnen is opdrachten gegroepeerd in methoden één voor één uitvoeren te beginnen met main.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 8 Objecten en klassen.
6.1 Inleiding HOOFDSTUK 6 METHODEN
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Opgave 2a nMet een InputStream lees je bytes uit een binare file nMet een Reader lees je characters uit een tekstfile.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Hoorcollege 2 Basis gameprogrammeren. Soorten programma’s Console- applicatie.
Variabelen Part deux.. Variabelen week 3 0. Herhaling 1. De NullPointerException (p101) 2. Primitieven 3. Scope en levensduur van variabelen 4. Meerdere.
Hoorcollege 4 Objecten en methoden. Eigen methode toevoegen class Painter : Game { public void HandleInput() { … } protected override void Update(GameTime.
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Polymorphisme en Interfaces: inleiding
Hoofdstuk 3 Methoden om te tekenen.
Hoofdstuk 7 Herhaling Nieuw!. while ( x
Opgave 1a ncompiler: vertaalt broncode naar machine-uitvoerbare code ninterpreter: voert broncode direct uit.
Hoofdstuk 3 Tekenen en rekenen.
Hoofdstuk 4 Nieuwe methoden. Tekenen g.drawRect(20,60,40,40); g.drawLine(20,60,40,40); g.drawLine(40,40,60,60); g.drawRect(70,60,40,40); g.drawLine(70,60,90,40);
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Imperatief programmeren nJeroen Fokker. Wat heb je nodig? nCollegediktaat ukopen bij A-Eskwadraat (BBG-238) uof zelf downloaden en uitprinten nSolis-id.
Declaratie en toekenningen nEén keer declarareren nMogelijk meerdere toekenningen int x; x = 100; x = 250; x = x + 1; x = 2 * x; int x = 100; x = 100;
Hoofdstuk 2 Hallo, C# !. Opbouw broncode nOpdrachten om het geheugen te veranderen nOpdrachten zijn gegroepeerd in methoden nMethoden zijn gegroepeerd.
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
Eerste deeltentamen nNagekeken werk ligt voor in de zaal nNeem je eigen werk mee: in het college wordt het besproken nVragen over de beoordeling: in de.
1e Deeltentamen nNagekeken werk ligt voor in de zaal (alfabetisch op achternaam) nNeem het even mee, de uitwerking wordt in het college besproken nDiscussies.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 2 inleveropdrachten) college Tent. 1 Tent. 2 college prakt. 1 prakt. 2 prakt.
Resources. Kompas } { protected override void OnDraw(Canvas canv) { base.OnDraw(canv); } public KompasView(Context c) : base(c) { } class KompasView :
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Windows-applicatie class HalloWin1 { static void Main ( ) { } Form scherm; scherm = new Form( ); Application.Run(scherm); using System.Windows.Forms; scherm.Text.
Syntax van opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += returnexpressie; if)(expressieopdrachtblok.
Meer constructormethodes in klasse Kleur { class Kleur } public byte Rood, Groen, Blauw; public Kleur( byte r, byte g, byte b ) { } Rood=r; Groen=g; Blauw=b;
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Activity Bij het starten van een app:
Aanroep van een methode voert opdrachten uit in de body daarvan
ISensorEventListener
1e Deeltentamen Nagekeken werk ligt voor in de zaal (alfabetisch op achternaam) Neem het even mee, de uitwerking wordt in het college besproken Discussies.
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Keuzeopdrachten
Gameprogrammeren: Overerving
Hoofdstuk 9.2 Strings.
Letterfrequentie turven
Gameprogrammeren: Variabelen, declaraties en toekenningen
Syntax van opdrachten opdracht naam naam ( expressie ) ; . , expressie
Gameprogrammeren: Expressies
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Methoden
Arjan Egges & Paul Bergervoet
vandaag èn vrijdag deadline maandag 12 dec.
Gameprogrammeren: Overerving in Painter
Gameprogrammeren: Programmastructuur
Basis Gameprogrammeren
Gameprogrammeren: Herhalingen
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Voorbeeld: Simulatie van bewegende deeltjes
Voortborduren op eerder gedaan werk
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Willekeurigheid en Herhaling
Aanroep van een methode voert opdrachten uit in de body daarvan
Gameprogrammeren: Klassen en objecten
Arjan Egges & Paul Bergervoet
Exceptions Exception:
Transcript van de presentatie:

Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de methode OnCreate( ) Methode uit klasse Activity

Maak je eigen View protected override void OnCreate(Bundle b) { base.OnCreate(b); TextView t; t = new TextView(this); this.SetContentView(t); AnalogClock a; a = new AnalogClock(this); this.SetContentView(a); MondiaanView m; m = new MondriaanView(this); this.SetContentView(m); } bestaat nog niet…

Maak je eigen View public class MondriaanView : View { protected override void OnDraw(Canvas cv) { public MondriaanView(Context ct) { } } } cv. DrawLine(…); cv. DrawRect(…); cv. DrawCircle(….); this.SetBackgroundColor(Color.White); base.View(ct); : base(ct) base.OnDraw(cv);

Hallo (x,y) DrawText (x1,y1) (x2,y2) DrawLine x y (0,0) DrawOval DrawRect links boven rechts onder DrawBitmap (x,y) DrawCircle (x,y) r

Tekenen cv.DrawRect( 10, 0, 20, 100, verf ); cv.DrawRect( 50, 0, 60, 100, verf ); cv.DrawRect( 90, 0, 100, 100, verf ); Paint verf; verf = new Paint(); verf.Color=Color.Black; cv.DrawRect( 0, 40, 200, 50, verf ); cv.DrawRect( 0, 70, 200, 80, verf ); verf.Color = Color.Blue; cv.DrawRect( 0, 50, 10, 70, verf ); verf.Color = Color.Red; cv.DrawRect(100, 0, 200, 40, verf ); compositie met blauw en rood (vrij naar Piet Mondriaan)

Variabelen Paint verf; verf = new Paint(); verf.Color=Color.Black; verf.Color = Color.Blue; cv.DrawRect( 0, y1+balk, x1, y2, verf ); cv.DrawRect( x1, 0, x1+balk, hoog, verf ); cv.DrawRect( x2, 0, x2+balk, hoog, verf ); cv.DrawRect( x3, 0, x3+balk, hoog, verf ); cv.DrawRect( 0, y1, breed, y1+balk, verf ); cv.DrawRect( 0, y2, breed, y2+balk, verf ); verf.Color = Color.Red; cv.DrawRect(x3+balk, 0, breed, y1, verf ); int balk, breed, hoog balk = 10; breed = 200; hoog = 100; int x1, x2, x3, y1, y2; x1=10; x2=50; x3=90; y1=40; y2=70; x1x2x3 y1 y2

Makkelijk aanpasbaar?

Syntax van declaratie type klasse naam int string declaratie naamtype, =expressieconst ; var

Syntax van expressies expressie getal expressie operator expressie() variabele ”” symbool

Gebruik van expressies in opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam +=

Gebruik van expressies in opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam +=

Gebruik van expressies in opdrachten en expressies opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += expressie constante expressie operator expressie() variabele

Hoofdstuk 4.6 Maak je eigen methode- definities

Voorbeeld: Huizen

Nieuwe methoden nMethode: groepje opdrachten met een naam Aanroep van een methode voert opdrachten uit in de body daarvan private void tekenHuis(…) { …. DrawRect (…); …. DrawLine (…); …. DrawLine (…); } protected override void OnDraw(Canvas c) { …. tekenHuis (…); …. tekenHuis (…); …. tekenHuis (…); }

Parameters …. DrawRect (…); …. DrawLine (…); …. DrawLine (…); } protected override void OnDraw(Canvas c) { …. tekenHuis (…); …. tekenHuis (…); …. tekenHuis (…); } private void tekenHuis (…) { cccccc (Canvas c, … ) parameter declareren (c, …); en bij aanroep meegeven

Het object this c. DrawRect (…);c. DrawLine (…); } …. tekenHuis (c, …); …. tekenHuis (c, …); …. tekenHuis (c, …); } private void tekenHuis (Canvas c, …) { this this this this: het object dat OnDraw ook al onder handen heeft class HuizenView : View { } protected override void OnDraw(Canvas c) {

Meer parameters this. tekenHuis (c, …); this. tekenHuis (c, …); this. tekenHuis (c, …); } protected override void OnDraw(Canvas c) { teken driemaal een net iets ander huis 20, 100, 40); 70, 100, 40); 120, 100, 60); nog meer parameters!

Meer parameters c.DrawRect ( …, verf); c.DrawLine ( …, verf); c.DrawLine ( …, verf); } x, y-br, x+br, y int tx = x+br/2; int ty = y–br–br/2; x, y-br, tx, ty tx, ty, x+br, y-br private void tekenHuis (Canvas c, … ) { Paint verf = new Paint(); int x, int y, int br) this. tekenHuis (c, …); this. tekenHuis (c, …); this. tekenHuis (c, …); } protected override void OnDraw(Canvas c) { (x,y)br (tx,ty) 20, 100, 40); 70, 100, 40); 120, 100, 60);

Flexibiliteit nHoe meer parameters, des te flexibeler de methode (x,y) br h dakh private void tekenHuis (Graphics gr, int x, int y, int br, int h, int dakh, Color kl, Color dakKl, … ) { en des te lastiger aan te roepen...

Flexibiliteit Veel parameters: nNu lastig om te programmeren nIn de toekomst gemakkelijk uit te breiden Weinig parameters: n Nu gemakkelijk om te programmeren n In de toekomst lastig te onderhouden

Communicatie met methoden nParameters : aanroeper geeft waarde door aan de methode nMethode-resultaat : methode geeft waarde terug aan de aanroeper net zoals een wiskundige functie

Methoden met een resultaat private double kwadraat (double x) { return x*x ; } type van het resultaat waarde van het resultaat in speciale return-opdracht

Publieksvraag nSchrijf een methode driewerf met een String-parameter, die 3 herhalingen ervan oplevert this.driewerf("Hoera!")"Hoera!Hoera!Hoera!" private string driewerf (string x) { } return x+x+x;

nAanroep van void-methode geldt als opdracht Aanroep van methoden c.DrawLine(10,10, 20,20, verf) ; a = this.kwadraat (5) ; c.DrawLine(this.kwadraat (5), 10, 25, 50, verf); zonder resultaat nAanroep van methode met resultaat geldt als expressie … this.kwadraat (5) + 1 …

Return is laatste opdracht Parameters krijgen hun waarde bij de aanroep private double gemiddelde (double a, double b, double c) { } double totaal; totaal = a + b + c ; return totaal / 3; Lokale variabele krijgen hun waarde in een toekenning

Methodes die elkaar aanroepen private double kwadraat (double x) { return x*x ; } private double oppervlak (double r) { return Math.PI * this.kwadraat(r); } public void bereken (...) { scherm.Text = this.oppervlak(25).ToString(); } class CirkelCalc : Activity { }

Hoofdstuk 5 Objecten en methoden

Variabelen nVariabele: geheugenplaats met een naam int x, y; nDeclaratie: aangifte van het type van de variabele nToekenningsopdracht: variabele krijgt waarde x = 20; x y 20

Toekenningsopdrachten y = x + 5 ; nExpressie aan de rechterkant mag andere variabelen gebruiken nVorige waarde gaat verloren x = y * 2 ; x y 20 int x, y; x = 20 ; y = y + 1 ;

Declaratie en toekenningen nEén keer declarareren nMogelijk meerdere toekenningen int x; x = 100; x = 250; x = x + 1; x = 2 * x; int x = 100; x = 100; Declaratie en eerste toekenning

x Type van variabelen x = 10 ; d = ; nint geheel getal ndouble benadering van reëel getal d = 10 ; d int x; double d; x = x / 3 ; d = d / 3 ;

Const declaratie double pi= ; void PrintOppervlak ( double r ) { scherm.Text = Pi * r * r ; } const double Pi= ; Pi = 4.0; Latere toekenningen verboden

Standaardtypes sbyte short int long float double decimal byte ushort uint ulong ± 2 miljard ± ± ± miljard 7 cijfers, afgerond, ≤ cijfers, afgerond, ≤ cijfers, exact, ≤10 28 ngehele getallen nmet een decimale punt 1 byte 2 bytes 4 bytes 8 bytes 4 bytes 8 bytes 16 bytes

Constanten ngeheel getal (kleinst passende) nmet een decimale punt nstring 0137–25 0.5– E231E3 "Hallo!""A""A""""een \"citaat\"""\n""\\" 0x1A0xFF 3E– hexadecimaal

Syntax van getal cijferhex-cijfer 0x cijfer. E + – F D L getal M

Syntax van constant constante getal symbool’’ ”” false true null $””symbool expressie{}, :symbool

Syntax van symbol symbool n t ” \ u r b ’ hex-cijfer \ cijfer letter leesteken

Typering van operatoren nBeide argumenten geheel  resultaatwaarde geheel * 4 5 / * 7 10 / * 2.5 nMinstens één floating  resultaatwaarde floating “in” + “fo” “€” + bedrag nbij + operator ook: Minstens één string  resultaatwaarde string

Objecten nObject: groepje variabelen dat bij elkaar hoort 255 r g 0 b 100 w 20 h 3 aantal prijs h allo!

Objecten nOm een object te gebruiken, hoef je niet te weten uit welke variabelen het object bestaat nJe hoeft alleen te weten uwelke methoden er zijn uwelke properties er zijn "vraag niet hoe het kan... " "maar profiteer ervan! "

Methoden bewerken een object canvas. DrawLine ( 10, 10, 30, 30, verf) ; stapel. Add ( new Button(this) ); methode gebruikt het object methode verandert het object blijvend scherm. SetBackgroundColor ( Color.White ); methode verandert het object blijvend object

Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken

Color-object Color k1, k2, k3; k1 = new Color(255,0,0); verf.Color = k1; c.DrawCircle(100,200,50,verf); k2 = k1; k3 = k1; k2.G = 255; verf.Color = k2; c.DrawCircle(300,200,50,verf); k3.B = 255; verf.Color = k3; c.DrawCircle(500,200,50,verf); k1 k2k3 0 0 R G 0 B 0 0 R G 0 B 0 0 R G 0 B 255

Rect-object Rect r1, r2, r3; r1 = new Rect(50,300,150,350); c.DrawRect(r1, verf); r2 = r1; r3 = r1; r2.Left=280; r2.Right=320; r2.Top = 50; c.DrawRect(r2, verf); r3.Left = 490; r3.Right = 510; c.DrawRect(r3,verf); r1 r2r3 0 0 Left Right 0 Top 50 verf.Color = Color.Green; 0 Bottom 0 0 Left 0 0 Bottom 0 0 Left 0 0 Bottom Right Top Right Top

Rect-object Rect r1, r2, r3; r1 = new Rect(50,300,150,350); c.DrawRect(r1, verf); r2 = r1; r3 = r1; r2.Left=280; r2.Right=320; r2.Top = 50; c.DrawRect(r2, verf); r3.Left = 490; r3.Right = 510; c.DrawRect(r3,verf); r1 r2r Left Right 150 Top verf.Color = Color.Green; 350 Bottom null

Grote objecten kopiëren? Bitmap b; b = new Bitmap("t.jpg"); Bitmap c; c = b; 104 h wb 4 h wc zonde van de ruimte!

Object-verwijzingen Bitmap b; Bitmap c; c = b; 104 h w b new Bitmap("t.jpg");b = c

Values versus Pointers Color c; Rect r; class Rect struct Color c 0 0 R G 0 B Left Right 20 Top 40 Bottom c = new Color(255,0,0); new Rect(10,20,30,40); null r r =