

Michiel Rotteveel is sinds 1986 werkzaam in de ICT, eerst als systeembeheerder, later als coördinator I&A, consultant, hoofd applicatieontwikkeling en informatiemanager.
Meer over de auteursLeren programmeren in C# - Deel 4 Object georiënteerd programmeren
Samenvatting
Vroeger werd elk programma van de grond af aan opnieuw opgebouwd. Elke keer weer. Tot er iemand op het idee kwam om stukjes programma te schrijven die je makkelijk opnieuw kunt gebruiken, de objecten.
Door objectgeoriënteerd te programmeren wordt de ontwikkeltijd korter en je programma onderhoudbaar. Elk deelprogramma heeft een duidelijke functie, vervult die goed en is herbruikbaar.
Dit boek maakt onderdeel uit van een serie 'Leren programmeren in C#' dat verder bestaat uit de delen:
deel 1: Introductie
deel 2: Gegevens
deel 3: Databases
Specificaties
Inhoudsopgave
U kunt van deze inhoudsopgave een PDF downloaden
C# OO & UML 11
Benodigde voorkennis 12
Hoe werk je met dit boek? 12
Hoofdstuk 1 Voorbereiding 13
Objectoriëntatie 13
Kenmerken 13
UML 13
Voorbereiding voorbeeldprogramma 14
Wat heb je geleerd? 20
Hoofdstuk 2 Klassen (Classes) 21
Beschrijving 21
Inhoud (instantie) 21
UML 21
Vuistregels 22
Soorten klassen 22
Naamgeving 23
Voorbeeld 2.1: Aanmaken klasse Konijn 23
Opdrachten Klassen 24
Opdracht 2.1: Aanmaken klasse Gras 24
Opdracht 2.2: Aanmaken klasse Venijnboom 24
Opdracht 2.3: Aanmaken klasse Vingerhoedskruid 24
Opdracht 2.4: Aanmaken klasse Koe 24
Opdracht 2.5: Aanmaken klasse Lynx 24
Opdracht 2.6: Aanmaken klasse Beer 24
Wat heb je geleerd? 24
Hoofdstuk 3 Encapsulation, variabelen en eigenschappen 25
Encapsulation 25
Naamgeving variabelen én eigenschappen 26
Variabelen 26
UML 27
Voorbeeld 3.1: Interne variabelen 28
Visual Studio klassendiagram 29
Voorbeeld 3.2: Visual Studio klassendiagram genereren 29
Eigenschappen (properties) 30
Voorbeeld 3.3: Eigenschappen 31
Voorbeeld 3.4: ReadOnly-eigenschappen 32
Voorbeeld 3.5: Eigenschappen met een complex type toevoegen 33
Opdrachten Encapsulation, variabelen en eigenschappen 34
Opdracht 3.1: Voorbereiding klasse Gras 34
Opdracht 3.2: De klasse Gras implementeren 35
Verkorte schrijfwijze eigenschappen 36
Voorbeeld 3.6: Verkorte schrijfwijze eigenschappen 36
Opdracht Verkorte schrijfwijze 39
Opdracht 3.2: Verkorte schrijfwijze: de klasse Venijnboom 39
Wat heb je geleerd? 40
Hoofdstuk 4 Methoden 41
Beschrijving 41
Eisen 41
Overloaden 41
UML 42
Voorbeeld 4.1: Methoden toevoegen aan de klasse Konijn 43
Opdrachten Methoden 48
Opdracht 4.1: Methoden toevoegen aan de klasse Koe 48
Opdracht 4.2: Methoden toevoegen aan de klassen Gras en Venijnboom 48
Refl ectie 48
Wat heb je geleerd? 48
Hoofdstuk 5 Constructor 49
Beschrijving 49
Eisen constructor 49
UML 49
Voorbeeld 5.1: Constructors voor Konijn 50
Opdrachten Constructor 51
Opdracht 5.1: Constructors voor Koe 51
Opdracht 5.2: Constructors voor Gras en Venijnboom 51
Voorbeeld 5.2: Konijn tekenen 52
Opdrachten Tekenen 53
Opdracht 5.3: Tekenen van Koe 53
Opdracht 5.4: Tekenen van Gras en Venijnboom 53
Wat heb je geleerd? 54
Hoofdstuk 6 Structs 55
Beschrijving 55
Stack 55
Heap 55
Inhoudsopgave 7
Eigenschappen struct 56
UML 57
Voorbeeld 6.1: NatSimII struct Snelheid 57
Wat heb je geleerd? 59
Hoofdstuk 7 Compositie 61
Beschrijving 61
Voorbeeld 7.1: Compositie klasse Rechthoek 62
Wat heb je geleerd? 65
Hoofdstuk 8 Overerving 67
Beschrijving 67
Voordelen 67
UML 67
NatSimII 69
Erven 70
Afspraken 71
Voorbeeld 8.1: Overerving 71
Opdracht Overerving 84
Opdracht 8.1: Klasse Vingerhoedskruid 84
Wat heb je geleerd? 84
Hoofdstuk 9 Abstracte klasse 85
Beschrijving 85
UML 85
Voorbeeld 9.1: Abstract maken van de klasse Grafi schObject 85
Opdrachten Abstracte klassen 86
Opdracht 9.1: Abstract maken van de klasse Leven 86
Opdracht 9.2: Abstract maken van de klasse Plant 86
Wat heb je geleerd? 86
Hoofdstuk 10 Oefening, uitbouwen van het project 87
Voorbeeld 10.1: Klasse Dier 87
Opdracht Typering object 89
Opdracht 10.1: IsDier() 89
Voorbeeld 10.2: Abstracte methode implementeren 89
Opdrachten Uitbouwen van het project 91
Opdracht 10.2: Vleeseter 91
Opdracht 10.3: Methode Eet() bij Vleeseter 91
Opdracht 10.4: Alleseter 91
Opdracht 10.5: Methode Eet() bij Alleseter 91
Voorbeeld 10.3: Aanpassen van de klasse Konijn 92
Opdracht Vernieuwde klasse 93
Opdracht 10.6: Nieuwe klasse Koe 93
Hoofdstuk 11 Interfaces 95
Beschrijving 95
UML 96
Voorbeeld 11.1: Interface IBewegendObject 96
Opdracht Interfaces 100
Opdracht 11.1: Klok toevoegen 100
UML-klassendiagram Dier 100
Wat heb je geleerd? 100
Hoofdstuk 12 Delegates 101
Voorafje 101
Beschrijving 101
UML 101
Aanmaken delegate 102
Voorbeeld 12.1: Delegate defi niëren, aanmaken en gebruiken 102
Waarom delegates? 106
Callback-functies 106
Voorbeeld 12.2: Callback delegate 107
Opdrachten Delegate 110
Opdracht 12.1: De ProgressBar 110
Opdracht 12.2: Spreektijd 110
Opdracht 12.3: Spreektijd met eindtijdwaarschuwing * 110
Multithreading 111
Wat heb je geleerd? 111
Hoofdstuk 13 Events 113
Beschrijving 113
UML 114
Voorbeeld 13.1: Timer event 115
Voorbeeld 13.2: Beweging 117
Opdrachten Completeren formulier 123
Opdracht 13.1: Toevoegen code 123
Opdracht 13.2: Test het programma 123
Voorbeeld 13.3: Het eerste zelfbouwevent 123
Voorbeeld 13.4: Event arguments 126
Voorbeeld 13.5: Keten van events 129
NatSimII tot nu toe 135
Opdrachten Events 136
Opdracht 13.3: Extra informatie tonen 136
Opdracht 13.4: Nog meer informatie tonen * 136
Collision detection 136
Voorbeeld 13.6: Collision detection 137
Opdrachten Collision detection 141
Opdracht 13.5: Red de Venijnboom 141
Opdracht 13.6: Vleeseter, Jaguar 141
Opdracht 13.7: Vleeseter, Lynx 141
Opdracht 13.8: Alleseter, Beer * 142
Opdracht 13.9: Red de Venijnboom opnieuw 143
Opdracht 13.10: Conversie van Leven naar Venijnboom 143
Opdracht 13.11: Conversie van Leven naar Vingerhoedskruid 143
Voorbeeld 13.7: Zaaien 143
Wat heb je geleerd? 144
Hoofdstuk 14 Oefening baart kunst 145
Opdrachten NatSimII 145
Opdracht 14.1: Venijnboom 145
Opdracht 14.2: Vingerhoedskruid 145
Opdracht 14.3: Zaaien 145
Opdracht 14.4: Over gras lopen 145
Opdracht 14.5: Voortplanting 145
Opdracht 14.6: Voortplanten Planten * 146
Opdracht 14.7: Shooting game * 146
Opdracht 14.8: Snelheid wijzigen * 146
Opdracht 14.9: Plaatjes * 146
Opdracht 14.10: Geluid * 146
Opdracht 14.11: Collision detection * 146
Opdracht 14.12: Evenwicht * 147
Nawoord 149
Bijlagen 151
Cookbook Events 151
UML-diagram NatSimII 154
Naming conventions C# 156
Bronvermelding 157
Anderen die dit boek kochten, kochten ook
Net verschenen
Rubrieken
- aanbestedingsrecht
- aansprakelijkheids- en verzekeringsrecht
- accountancy
- algemeen juridisch
- arbeidsrecht
- bank- en effectenrecht
- bestuursrecht
- bouwrecht
- burgerlijk recht en procesrecht
- europees-internationaal recht
- fiscaal recht
- gezondheidsrecht
- insolventierecht
- intellectuele eigendom en ict-recht
- management
- mens en maatschappij
- milieu- en omgevingsrecht
- notarieel recht
- ondernemingsrecht
- pensioenrecht
- personen- en familierecht
- sociale zekerheidsrecht
- staatsrecht
- strafrecht en criminologie
- vastgoed- en huurrecht
- vreemdelingenrecht