NL - Q&D Overview programming fundamentals C#
-
Upload
christoffeldg -
Category
Technology
-
view
447 -
download
8
description
Transcript of NL - Q&D Overview programming fundamentals C#
Q&D Overview C# fundamentals
Types Variables Instantiëren Signature Scope
Basis concepten
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
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
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
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
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
Namespace definition◦ Delegate◦ (partial) Classes or Structs
Constants Variable definitions Constructors Methods Properties
◦ Interfaces Signatures
◦ Enum Names & values
Doorlopen van de code structuur
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
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
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
Abstractie Encapsulatie Inheritance Polymorphisme
Principes van OOP
Het vormen van tussenlagen waarop verder gebouwd kan worden
Hoe past OOP abstractie toe?◦ Inheritance◦ Polymorphisme
Wat is abstractie?
Het beveiligen & verbergen van functionaliteiten en data
Hoe past OOP dit toe?◦ Private, public, protected
Wat is encapsulatie?
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?
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?
Interfaces Static keyword Virtual/Override/New methods Abstract keyword
Geavanceerdere concepten
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
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
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
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