Les 1: OOP in C#

Python intro
Programming basics-II
Les 3 / Week 7a
OOP in C#
CSD-II
Les 1
1 / 29
next
Slide 1: Slide
Applicatie- en mediaontwikkelaarMBOStudiejaar 2

This lesson contains 29 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 60 min

Items in this lesson

Python intro
Programming basics-II
Les 3 / Week 7a
OOP in C#
CSD-II
Les 1

Slide 1 - Slide

This item has no instructions

Object Oriented Programming in C#
 Van Echte Wereld naar Code

Slide 2 - Slide

This item has no instructions

🎒 Wat gaan we vandaag doen?
  • Welke C#-termen en concepten ken je al?
  • Waarom OOP?
  • Van echte wereld naar code
  • Je eerste class maken
  • Objects in actie zien

Slide 3 - Slide

This item has no instructions

Kantoorsfeer (huisregels)
- We houden het rustig

- Respect voor elkaar

- Drinken mag, afsluitbare verpakking

- Eten, geen rotzooi of stank

- We laten elkaar uitpraten

Slide 4 - Slide

This item has no instructions

ChatGPT / AI Wat spreken we af?
Tools > Options > IntelliCode > General > ALLES UIT

Slide 5 - Slide

This item has no instructions

Weten we het moduleboek te vinden?

Slide 6 - Slide

This item has no instructions

Slide 7 - Slide

This item has no instructions

Slide 8 - Slide

This item has no instructions

Welke C#-termen en concepten ken je al?

Slide 9 - Slide

This item has no instructions

Vorige module...

Slide 10 - Slide

This item has no instructions

Waarom OOP?
Het Probleem
Situatie: Je maakt een app voor een autoverhuurder
Zonder OOP: 50 losse variabelen per auto



Het probleem: Chaos, veel herhaling, fouten maken is makkelijk

Slide 11 - Slide

This item has no instructions

Waarom OOP?
De Oplossing: OOP Denken
In het echt: Alle auto's hebben dezelfde "eigenschappen"
In code: Maken we een "sjabloon" (class) voor alle auto's
Voordeel: 1 keer beschrijven, oneindig vaak gebruiken
Praktisch: Net als een formulier dat je meerdere keren invult

Slide 12 - Slide

This item has no instructions

Van echte wereld naar code
Kijk mee hoe we een 'Auto' sjabloon (de 'class'/klasse) aanmaken in C#
We gaan de eigenschappen uit de vorige slide beschrijven ('declareren')
Conventies:
  • Klassenaam in UpperCamelCase (PascalCase)
  • Klassenaam het liefst in het Engels
  • Iedere klasse in een eigen C# bestand, dat dezelfde naam heeft als de klasse

Slide 13 - Slide

This item has no instructions

TODO: Plak hier de gemaakte 'Car' klasse

Slide 14 - Slide

This item has no instructions

Van echte wereld naar code
We hebben nu een sjabloon ('class'/klasse) voor auto's, maar nog geen 'echte auto' in de applicatie.

Laten we kijken hoe we nu op basis van ons sjabloon deze auto's aanmaken* in onze applicatie:
BMW 330e, Link & Co O1 en Mazda CX-5
*Het 'aanmaken' van objecten op basis van het sjabloon/class noemen we 'instantiëren'

Slide 15 - Slide

Laat ook zien hoe de informatie uit de klassen kan worden getoond (evt met list en loop)
TODO: Plak hier de code waarin de 'Car' klasse wordt geinstantiëerd

Laat ook zien hoe de informatie uit de klassen kan worden getoond (evt met list en loop)

Slide 16 - Slide

This item has no instructions

Tot nu gebruikte woorden
  • Klasse (Engels: class) - Sjabloon van een object
  • Eigenschap (Engels: property) - beschrijven een object in het sjabloon
  • Declareren (Engels: to declare) - het beschrijven van eigenschappen of variabelen, zonder er meteen een waarde aan te geven
  • Objecten (Engels: objects) - objecten gemaakt op basis van een sjabloon (klasse)
  • Instantiëren (Engels: to instantiate) - het daadwerkelijk maken van een object op basis van een sjabloon (klasse)

Slide 17 - Slide

This item has no instructions

❓ Vragen tot nu toe?

Slide 18 - Slide

This item has no instructions

Je eerste class maken
Van Sjabloon naar Echte Telefoon

Slide 19 - Slide

This item has no instructions

Je eerste class maken
Scenario: Je werkt bij een Telefoonwinkel 📱
De situatie:
  • Je baas vraagt je een app te maken voor de telefoonwinkel
  • De winkel heeft 200 telefoons op voorraad
  • Klanten willen kunnen zoeken en vergelijken
  • Medewerkers moeten voorraad kunnen bijhouden

Slide 20 - Slide

This item has no instructions

Je eerste class maken
De Chaos zonder class:







Stel je voor: je hebt 200 telefoons. Hoeveel variabelen heb je dan nodig?"

Slide 21 - Slide

This item has no instructions

Je eerste class maken
📱voor de telefoonwinkel
Daarvoor moeten we bedenken: Welke eigenschappen zijn interessant om aan de klasse toe te voegen?


Dat gaan we nu samen uitzoeken aan de hand van 2 vragen:
  • "Als klant in een telefoonwinkel, welke dingen wil je weten over een telefoon voordat je koopt?"
  • "Als medewerker, wat moet je kunnen doen met een telefoon in het systeem?"

Slide 22 - Slide

This item has no instructions

Als klant in een telefoonwinkel, welke dingen wil je weten over een telefoon voordat je koopt?

Slide 23 - Mind map

This item has no instructions

Als medewerker, wat moet je kunnen doen met een telefoon in het systeem?

Slide 24 - Mind map

This item has no instructions

Je eerste class maken
📱voor de telefoonwinkel
Conventies:
  • Klassenaam in UpperCamelCase (PascalCase) - Tip: Smartphone is één woord
  • Klassenaam het liefst in het Engels
  • Iedere klasse in een eigen C# bestand, dat dezelfde naam heeft als de klasse

Slide 25 - Slide

This item has no instructions

Je eerste class maken
📱voor de telefoonwinkel
  1. Maak een class als sjabloon voor een smartphone
  2. Instantiëer in de Main-methode in Program.cs 4 objecten:


  3. Laat de waardes van de 4 instanties zien met Console.WriteLine
  • Jouw smartphone
  • De smartphone van een van je klasgenoten
  • Zwarte Google Pixel 7
  • Witte iPhone 10
(Verzin zelf waardes voor de voorraad)

Slide 26 - Slide

This item has no instructions

Je eerste class maken
📱voor de telefoonwinkel

Laten we eens kijken naar de klassen die jullie gemaakt hebben. Wat kunnen we van elkaar leren?

Slide 27 - Slide

This item has no instructions

Reference vs value-types
In C# zijn de volgende datatypes een value type:
•    int
•    float
•    double
•    char
•    bool
•    struct
•    Enums

Slide 28 - Slide

This item has no instructions

Reference vs value-types
In C# zijn objecten (gebaseerd op classes) vaak reference types:

Slide 29 - Slide

This item has no instructions