NL - Q&D Overview programming fundamentals C#

21
Q&D Overview C# fundamentals

description

Korte voorstelling van de fundamentals voor mijn klasgenoten op groep T.

Transcript of NL - Q&D Overview programming fundamentals C#

Page 1: NL - Q&D Overview programming fundamentals C#

Q&D Overview C# fundamentals

Page 2: NL - Q&D Overview programming fundamentals C#

Types Variables Instantiëren Signature Scope

Basis concepten

Page 3: NL - Q&D Overview programming fundamentals C#

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#

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#

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#

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#

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#

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#

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#

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#

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#

Abstractie Encapsulatie Inheritance Polymorphisme

Principes van OOP

Page 13: NL - Q&D Overview programming fundamentals C#

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#

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#

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#

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#

Interfaces Static keyword Virtual/Override/New methods Abstract keyword

Geavanceerdere concepten

Page 18: NL - Q&D Overview programming fundamentals C#

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#

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#

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#

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