1 / 12

Modulair werken en programmasturing (H4)

C#. Modulair werken en programmasturing (H4). De flow van een C# prog. Uitvoering begint met methode Main () De statements in deze methode worden van boven naar beneden doorlopen Zit daar een methode-aanroep bij, dan wordt daar een uitstap naar gemaakt

sirius
Télécharger la présentation

Modulair werken en programmasturing (H4)

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. C# Modulair werken en programmasturing (H4)

  2. De flow van een C# prog • Uitvoering begint met methode Main() • De statements in deze methode worden van boven naar beneden doorlopen • Zit daar een methode-aanroep bij, dan wordt daar een uitstap naar gemaakt • Vervolgens keert besturing terug naar volgende regel in Main() • Het programma eindigt met de laatste opdracht in Main()

  3. Modulair programmeren • Regelmatig terugkerende taken in een programma als module programmeren • Voordelen: • Beter leesbaar • Gemakkelijker te onderhouden • Minder foutgevoelig • Beter te debuggen

  4. Voorbeeld zonder modulair prog

  5. Voorbeeld metmodulair prog

  6. Maar dat kan beter … • Maak methode (module) zo algemeen mogelijk • Beperk de methode strikt tot de uit te voeren taak (dus bijvoorbeeld geen write van het resultaat, maar alleen de berekening!) • Gebruik parameters als variabele argumenten

  7. Voorbeeld betermodulair prog

  8. Klasse als verzameling methoden • RenteOpRenteBerekenen() zou je als methode kunnen opnemen in een verzamelklasse met nog meer financiële methoden (vgl. functies in PHP) • Hij hoort eigenlijk dus niet thuis in Program.csvan vorige voorbeeld • Als hij niet meer in Program.csis opgenomen, maar in aparte klasse, dan wordt de aanroep ook iets anders: Verzamelklasse.methodenaam()

  9. Klasse als object-generator • RenteOpRenteBerekenen() is in bovenstaand voorbeeld een losse methode, opgenomen in een verzamelklasse • Behalve onderdeel van klassenverzameling, kan een methode ook onderdeel zijn van een klasse die objecten genereert • Bijvoorbeeld: • Medewerker Piet = new Medewerker(naam, sal);

  10. Voorbeeld: spaarbankboekje public class Spaarbankboekje { double kapitaal, rente; public Spaarbankboekje(double kapitaal, double rente) { this.kapitaal= kapitaal; this.rente = rente; } public void opname(double bedrag) { kapitaal -= bedrag; } public double RenteOpRenteBerekenen(double looptijd) { return kapitaal * Math.pow((1 + rente / 100), looptijd); } }

  11. Verwerking Spaarbankboekje Class Program { staticvoidMain(string[] args) { string invoer; double kapitaal, rente; int looptijd; //[…regels weggelaten…] Spaarbankboekje ErikSpaar = new Spaarbankboekje(kapitaal, rente); //[…regels weggelaten…] Console.WriteLine( “rente op rente: “ + ErikSpaar.RenteOpRenteBerekenen(looptijd)); } }

  12. To do (zie studiewijzer): • Lezen hoofdstuk 4 – blz. 122 t/m 127 (deeltaken in methoden en klassen) • Maken opdracht hoofdstuk 4 – blz. 127 (klassen als methodeverzameling) • Lezen hoofdstuk 4 – blz. 128 en 129 (klassen als methodeverzameling) • Maken hoofdstuk 4 – blz. 129 t/m 131 (klassen als objectfabrieken) • Lezen hoofdstuk 4 – blz. 132 (komma of punt) • Maken hoofdstuk 4 – blz. 133 t/m 137 (eigen bibliotheken) • Lezen hoofdstuk 4 – blz. 137 t/m 149 (controlestructuren: if-else, booleaanse vergelijkingen, switch, for, while, foreach, loops en arrays) Maken extra opdracht E4.1(uit studiewijzer) • Lezen hoofdstuk 4 – blz. 150 t/m 156 (foutafhandeling, try-catch) • Maken oefeningen 3 t/m 9 – blz. 158/159

More Related