nl - q&d overview programming fundamentals c#
DESCRIPTION
Korte voorstelling van de fundamentals voor mijn klasgenoten op groep T.TRANSCRIPT
![Page 1: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/1.jpg)
Q&D Overview C# fundamentals
![Page 2: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/2.jpg)
Types Variables Instantiëren Signature Scope
Basis concepten
![Page 3: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/3.jpg)
Wat zijn types?◦ Types zijn het type variabele die je declareert◦ Welke vormen van types heb je?
Enum types Class types Value types
String Int Double ...
...
Types
![Page 4: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/4.jpg)
Wat zijn variables?◦ Stukjes geheugen waarin een referentie of data
kan geplaatst worden Referenties
Een referentie variable is een geheugenadres dat verwijst naar een blok code in het geheugen (Naar een object met properties en methods)
Value types Een value type variabele is een bepaalde hoeveelheid
geheugen voor het bewaren van data (string, int, …)
Variables
![Page 5: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/5.jpg)
Wat is instantiëren?◦ Het aanmaken van een object op basis van een
bepaalde klasse (object blueprint) Voorbeeld:
◦ Button myButton; //Hier maak je de variabele aan◦ myButton = new Button(); //Hier instantieer je
Instantiëren
![Page 6: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/6.jpg)
Wat is een signature?◦ De signature is de beschrijving van een method.
Uit wat bestaat een signature?◦ De return type
void, int, string, ...◦ De naam◦ De parameters◦ (int para1, string para2)
Signature
![Page 7: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/7.jpg)
Wat is de scope?◦ De scope is het blok waarin de variabelen kunnen
aangesproken worden. Hoe definieer je een scope?
◦ Je definieert deze door { & }
Scope
![Page 8: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/8.jpg)
Namespace definition◦ Delegate◦ (partial) Classes or Structs
Constants Variable definitions Constructors Methods Properties
◦ Interfaces Signatures
◦ Enum Names & values
Doorlopen van de code structuur
![Page 9: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/9.jpg)
Wat is een class?◦ De beschrijving waarop objecten zijn gebaseerd(The object blueprint) Wat zijn properties
De eigenschappen die het object zal hebben Wat zijn de methods
De functies die het object zal kunnen uitvoeren Wat is de constructor?
De initialisatie code die wordt uitgevoerd wanneer het object wordt aangemaakt
Classes
![Page 10: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/10.jpg)
Wat is een Enum?◦ Een enum beschrijft een reeks van constanten
Elke constante heeft een naam en een (standaard) value (altijd numeriek)
◦ Gebruik is altijd aan te raden in... Opsommingen van vaste waardes (bv Alfabet)
◦ Waarom? Switch case Status (Rolbeschrijvingen)
Vb. Gebruiker heeft rol “Administrator”
Enums
![Page 11: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/11.jpg)
public enum Status { Administrator, Gebruiker }public class Persoon { public Status MyStatus { get; set; } public string Name { get; set; }
public Persoon() { MyStatus = Status.Gebruiker; Name = "Onbekend"; } }
Enum Voorbeeld
![Page 12: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/12.jpg)
Abstractie Encapsulatie Inheritance Polymorphisme
Principes van OOP
![Page 13: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/13.jpg)
Het vormen van tussenlagen waarop verder gebouwd kan worden
Hoe past OOP abstractie toe?◦ Inheritance◦ Polymorphisme
Wat is abstractie?
![Page 14: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/14.jpg)
Het beveiligen & verbergen van functionaliteiten en data
Hoe past OOP dit toe?◦ Private, public, protected
Wat is encapsulatie?
![Page 15: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/15.jpg)
Hergebruik van code door deze te laten overerven van klasse naar klasse
Wat erft over?◦ Constructor◦ Methods◦ Properties
Een eigenschap Mogelijk een samenstelling van attributen
Sommige properties zijn gekoppeld aan een attribuut◦ Attributen (Datamembers)
Wat is Inheritance?
![Page 16: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/16.jpg)
Vanuit een lager abstractie niveau (vanuit een interface of een parent) functies oproepen.
Hoe stel je dit voor?◦ > Denk altijd met “foreach”, en hoe een foreach
door een list (met gemeenschappelijke basis) reageert op verschillende soorten objecten met dezelfde functies
◦ Denk aan de content property van WPF contentcontrols
Wat is polymorphisme?
![Page 17: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/17.jpg)
Interfaces Static keyword Virtual/Override/New methods Abstract keyword
Geavanceerdere concepten
![Page 18: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/18.jpg)
Wat is een interface?◦ Een interface beschrijft het gedrag van klasses◦ Het is een contract tussen verschillende klasses◦ Een interface bepaalt enkel wat
gemeenschappelijk is tussen verschillende klasses
◦ Een interface heeft feitelijk geen inhoud buiten method signatures.
◦ Interface namen beginnen in .NET met een I Waarvoor gebruik je interfaces?
◦ Polymorphisme
Interfaces
![Page 19: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/19.jpg)
Wat is een static variabele?◦ Een variabele die je maar één keer hoeft toe te
wijzen en dus volledig onafhankelijk werkt van de objecten van die klasses.
◦ Staat één keer in het geheugen van de klasse Wat is een static method?
◦ Een method waar je geen object voor hoeft te instantiëren
Wat is een static class?◦ Een class met alleen maar static methods◦ Een class die je niet kan instantiëren.
Static
![Page 20: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/20.jpg)
Wat is een virtual method?◦ Om een method aan te passen in derived classes
moet je deze aangeven met het keyword virtual in de parent class
Wat is een overriden method?◦ Een method die je aanpast in een derived class
Wat is een new method?◦ Een method die bij enkel bij rechtstreeks kan
opgeroepen worden en niet door een polymorph
Virtual/Override/New methods
![Page 21: NL - Q&D Overview programming fundamentals C#](https://reader035.vdocuments.site/reader035/viewer/2022081513/556451bad8b42a682d8b510f/html5/thumbnails/21.jpg)
Wat is een abstract class?◦ Een class die je niet kan instantiëren en enkel
bedoeld is om van te inheriten.(Bv een personeelsbestand met bedienden en arbeiders die beiden zijn afgeleid van “Persoon”)
Wat is een abstract method?◦ Een method die een override MOET hebben in een
derived class◦ Wordt zonder content gedefinieerd
Abstract