1 / 20

Hoofdstuk 4

Hoofdstuk 4. Nieuwe methoden. Tekenen. public void paint(Graphics g) {. 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);.

titus
Télécharger la présentation

Hoofdstuk 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hoofdstuk 4 Nieuwe methoden

  2. Tekenen public void paint(Graphics g){ 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); grote bendecoördinaten! }

  3. Nieuwe methoden private void tekenHuis(…){ … . drawRect (…); … . drawLine (…); … . drawLine (…);} • Methode:groepje opdrachten met een naam public void paint(Graphics g){ … . tekenHuis (…); … . tekenHuis (…); … . tekenHuis (…);} Aanroepvan een methode voert opdrachten uitin de body daarvan

  4. Parameters welk Graphics-objectnemen deze methodenonder handen? private void tekenHuis (…){ (Graphics gr, … ) … . drawRect (…);… . drawLine (…);… . drawLine (…); gr gr gr parameterdeclareren } public void paint (Graphics g){ en bij aanroepmeegeven … . tekenHuis (…);… . tekenHuis (…);… . tekenHuis (…); (g, …); (g, …); (g, …); }

  5. Het object this public class Huizen extends Applet{ } private void tekenHuis (…){ (Graphics gr, … ) … . drawRect (…);… . drawLine (…);… . drawLine (…); gr gr gr welk ……… - objectnemen deze methodenonder handen? Huizen } public void paint (Graphics g){ … . tekenHuis (…);… . tekenHuis (…);… . tekenHuis (…); (g, …); (g, …); (g, …); thisthisthis this: het objectdat paint ook alonder handen heeft }

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

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

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

  9. Veel parameters: Nu lastig om te programmeren In de toekomstmisschien gemakkelijkuit te breiden Weinig parameters: Nu gemakkelijk om te programmeren In de toekomstmisschien lastigte onderhouden Flexibiliteit

  10. Publieksvraag 150 • Schrijf een methode tekenCirkeldie je zo kunt aanroepen: 100 publicvoid paint (Graphics g){ } 50 this.tekenCirkel(g, 150, 100, 50); midden midden straal privatevoid tekenCirkel { } (Graphics g, int cx, int cy, int r) g . fillOval(cx–r, cy–r, 2*r, 2*r );

  11. Communicatie met methoden • Parameters :aanroeper geeft waarde dooraan de methode • Methode-resultaat :methode geeft waardeterug aan de aanroeper net zoals eenwiskundigefunctie

  12. Methoden met een resultaat type van hetresultaat privateint kwadraat (int x){ return x*x ;} waarde van het resultaatin speciale return-opdracht

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

  14. Return is laatste opdracht Parameterskrijgen hun waardebij de aanroep private double gemiddelde (double a, double b, double c){ } double totaal; Lokale variabelekrijgen hun waardein een toekenning totaal = a + b + c ; return totaal / 3;

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

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

  17. opdracht methode naam object . ( expressie ) ; , variabele = expressie ; return expressie ; Syntax van opdrachten

  18. Samenvatting • Aanroepen van methoden • in Graphics: drawLine, fillRect, setColor • Definiëren van nieuwe methoden • bijvoorbeeld: tekenHuis • Gebruik van parameters • om methoden flexibeler te maken

  19. Samenvatting • Variabelen • om een waarde tijdelijk te bewaren • declaratie geeft het type, bijv. int, double • Expressie • berekening die een waarde oplevert • gebruikt constanten, variabelen, operatoren

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

More Related