De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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);

Verwante presentaties


Presentatie over: "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);"— Transcript van de presentatie:

1 Hoofdstuk 4 Nieuwe methoden

2 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); g.drawLine(90,40,110,60); g.drawRect(120,40,60,60); g.drawLine(120,40,150,10); g.drawLine(150,10,180,40); public void paint(Graphics g) { } grote bende coördinaten!

3 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 (…); } public void paint(Graphics g) { …. tekenHuis (…); …. tekenHuis (…); …. tekenHuis (…); }

4 Parameters …. drawRect (…); …. drawLine (…); …. drawLine (…); } public void paint (Graphics g) { …. tekenHuis (…); …. tekenHuis (…); …. tekenHuis (…); } welk Graphics-object nemen deze methoden onder handen? private void tekenHuis (…) { gr (Graphics gr, … ) parameter declareren (g, …); en bij aanroep meegeven

5 Het object this …. drawRect (…); …. drawLine (…); …. drawLine (…); } } private void tekenHuis (…) { gr (Graphics gr, … ) welk ……… - object nemen deze methoden onder handen? …. tekenHuis (…); …. tekenHuis (…); …. tekenHuis (…); (g, …); public void paint (Graphics g) { public class Huizen extends Applet { } Huizen this this this this: het object dat paint ook al onder handen heeft

6 Meer parameters } …. tekenHuis (…); …. tekenHuis (…); …. tekenHuis (…); (g, …); public void paint (Graphics g) { this this this teken driemaal een net iets ander huis nog meer parameters! 20, 100, 40); 70, 100, 40); 120, 100, 60);

7 Meer parameters } …. tekenHuis (…); …. tekenHuis (…); …. tekenHuis (…); (g, …); public void paint (Graphics g) { this this this 20, 100, 40); 70, 100, 40); 120, 100, 60); gr. drawRect (… ); gr. drawLine (… ); gr. drawLine (… ); } (x,y)br x, y-br,br, br (tx,ty) int tx, ty; tx = x + br/2; ty = y – br – br/2; x, y-br, tx, ty tx, ty, x+br, y-br private void tekenHuis (Graphics gr, … ) { int x, int y, int br)

8 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...

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

10 Publieksvraag nSchrijf een methode tekenCirkel die je zo kunt aanroepen: public void paint (Graphics g) { } this.tekenCirkel(g, 150, 100, 50); midden straal 150 100 50 private void tekenCirkel { } g. fillOval(cx–r, cy–r, 2*r, 2*r ); (Graphics g, int cx, int cy, int r)

11 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

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

13 nAanroep van void-methode geldt als opdracht Aanroep van methoden g.drawString(“hallo”, 10, 10) ; a = this.kwadraat (5) ; g.drawLine( this.kwadraat (5), 10, 25, 50); zonder resultaat nAanroep van methode met resultaat geldt als expressie … this.kwadraat (5) + 1 …

14 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

15 Methodes die elkaar aanroepen private double kwadraat (double x) { return x*x ; } private double oppervlak (double r) { return 3.14159265 * this.kwadraat(r); } public void paint (Graphics g) { g.drawString(“straal 25, opp.” + this.oppervlak(25), 10, 10 ); } public class Opper extends Applet { } import java.awt. Graphics; import java.applet. Applet;

16 Syntax van expressies expressie getal expressie operator expressie() variabele ”” symbool object.(), expressie methode naam

17 Syntax van opdrachten =variabeleexpressie; opdracht object.(), ;expressie methode naam returnexpressie;

18 Samenvatting nAanroepen van methoden uin Graphics: drawLine, fillRect, setColor nDefiniëren van nieuwe methoden ubijvoorbeeld: tekenHuis nGebruik van parameters uom methoden flexibeler te maken

19 Samenvatting nVariabelen uom een waarde tijdelijk te bewaren udeclaratie geeft het type, bijv. int, double nExpressie uberekening die een waarde oplevert ugebruikt constanten, variabelen, operatoren

20 Expressies n Constante n Variabele n Operator-expr. n Expressie tussen haakjes n Aanroep methode met een resultaat Opdrachten nToekenning nAanroep void-methode nReturn-opdracht Samenvatting x=5; this.tekenHuis (…); return x*x; 5 x x+1 (x+1) this.kwadraat(5)


Download ppt "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);"

Verwante presentaties


Ads door Google