Wk7a - Interfaces

Interfaces
CSD-III
1 / 30
volgende
Slide 1: Tekstslide
Applicatie- en mediaontwikkelaarMBOStudiejaar 2

In deze les zitten 30 slides, met interactieve quiz en tekstslides.

time-iconLesduur is: 60 min

Onderdelen in deze les

Interfaces
CSD-III

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Herhaling

Slide 2 - Tekstslide

Deze slide heeft geen instructies

Return-type
Aanroepen
Access-modifier
Naam
Parameters
Returnen

Slide 3 - Sleepvraag

Deze slide heeft geen instructies

Naam
Parameters
in 📥
Return-type
uit 📤

Slide 4 - Tekstslide

Deze slide heeft geen instructies

Constructor
  • Speciale methode zonder return-type
  • Exact dezelfde naam als de klasse
  • Uitgevoerd bij maken nieuwe instantie

Slide 5 - Tekstslide

Deze slide heeft geen instructies

Interfaces

Slide 6 - Tekstslide

Deze slide heeft geen instructies

Slide 7 - Tekstslide

Deze code kennen we uit de MyMan-opdracht. Beiden updaten. Veel DRY'er kan niet toch?
👍

Slide 8 - Tekstslide

Deze slide heeft geen instructies

Slide 9 - Tekstslide

Eén Bouncer is saai. We maken er meer.
🤔

Slide 10 - Tekstslide

Niet DRY!

Slide 11 - Tekstslide

Oké dit is al beter

Slide 12 - Tekstslide

Maar wacht... er komen in de game nog veel meer dingen dan alleen Player en Bouncer. En die moeten allemaal geüpdatet worden.
👎

Slide 13 - Tekstslide

Niet opgeruimd en netjes. Niet DRY!

Slide 14 - Tekstslide

Maar het zijn allemaal andere types, dus we kunnen niet één lijst maken...
Hoe stoppen we al deze dingen in één lijst?

Slide 15 - Tekstslide

Maar het zijn allemaal andere types, dus we kunnen niet één lijst maken...
Hoe stoppen we al deze dingen in één lijst?

Door af te spreken dat ze allemaal 100% zeker een Update-methode bevatten.

Slide 16 - Tekstslide

Maar het zijn allemaal andere types, dus we kunnen niet één lijst maken...
Hoe stoppen we al deze dingen in één lijst?

Door af te spreken dat ze allemaal 100% zeker een Update-methode bevatten.

Dat doen we met een
Interface.

Slide 17 - Tekstslide

Maar het zijn allemaal andere types, dus we kunnen niet één lijst maken...
Hoe stoppen we al deze dingen in één lijst?

Door af te spreken dat ze allemaal 100% zeker een Update-methode bevatten.

Dat doen we met een
Interface.

Slide 18 - Tekstslide

Of toch wel? Op deze manier zal het lukken!
Inhoudelijk is aan de klasses niets veranderd.

Ze hádden al een Update-methode.

Maar nu is de Update verplicht!

Slide 19 - Tekstslide

Of toch wel? Op deze manier zal het lukken!
Inhoudelijk is aan de klasses niets veranderd.

Ze hádden al een Update-methode.

Maar nu is de Update verplicht!

Slide 20 - Tekstslide

Kijk! De methode is even weggehaald als demonstratie, en er komt meteen een error.
Dus...
C# weet nu 100% zeker dat al deze klasses een Update-methode zullen bevatten.

Slide 21 - Tekstslide

Of toch wel? Op deze manier zal het lukken!
C# weet nu 100% zeker dat al deze klasses een Update-methode zullen bevatten.

Daarom mogen ze nu wél samen in een lijst!

Slide 22 - Tekstslide

Of toch wel? Op deze manier zal het lukken!
C# weet nu 100% zeker dat al deze klasses een Update-methode zullen bevatten.

Daarom mogen ze nu wél samen in een lijst!

Slide 23 - Tekstslide

Deze slide heeft geen instructies

C# weet nu 100% zeker dat al deze klasses een Update-methode zullen bevatten.

Daarom mogen ze nu wél samen in een lijst!

Slide 24 - Tekstslide

Deze slide heeft geen instructies

👍

Slide 25 - Tekstslide

Dit is heel mooi DRY!
Interface is een soort klasse, met
alleen maar methode-definities.

Slide 26 - Tekstslide

Deze slide heeft geen instructies

Klasses kunnen inheriten van een Interface. Klasse
moet dan alle afgesproken methodes implementeren.

Slide 27 - Tekstslide

Deze slide heeft geen instructies

Interface is daarna te gebruiken als data-type, net als klasses zelf.

Omdat is vastgelegd dat de klasses aan de interface voldoen.

Slide 28 - Tekstslide

Dit is heel mooi DRY!
Interfaces - samengevat
  • Interface is een contract, klasse kan dat implementeren
  • Interface bevat alleen maar methode-definities
  • Naam van Interface begint altijd met 'I'
  • Klasse kan 'inheriten' van interface en moet dan alle methodes hebben uit de interface.
  • Belangrijkste voordeel: objecten van verschillende klasses in één lijst stoppen.

Slide 29 - Tekstslide

Deze slide heeft geen instructies

Opdracht
MyMan (zie week 6):
  • Stap 15 t/m 18
  • Klaar? Dan ook laatste deel 'screensize'

Voorbeelden als support:

Slide 30 - Tekstslide

Deze slide heeft geen instructies