Wk7a - Interfaces

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

This lesson contains 30 slides, with interactive quiz and text slides.

time-iconLesson duration is: 60 min

Items in this lesson

Interfaces
CSD-III

Slide 1 - Slide

This item has no instructions

Herhaling

Slide 2 - Slide

This item has no instructions

Return-type
Aanroepen
Access-modifier
Naam
Parameters
Returnen

Slide 3 - Drag question

This item has no instructions

Naam
Parameters
in 📥
Return-type
uit 📤

Slide 4 - Slide

This item has no instructions

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

Slide 5 - Slide

This item has no instructions

Interfaces

Slide 6 - Slide

This item has no instructions

Slide 7 - Slide

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

Slide 8 - Slide

This item has no instructions

Slide 9 - Slide

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

Slide 10 - Slide

Niet DRY!

Slide 11 - Slide

Oké dit is al beter

Slide 12 - Slide

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 - Slide

Niet opgeruimd en netjes. Niet DRY!

Slide 14 - Slide

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

Slide 15 - Slide

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 - Slide

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 - Slide

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 - Slide

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 - Slide

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 - Slide

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 - Slide

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 - Slide

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 - Slide

This item has no instructions

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 - Slide

This item has no instructions

👍

Slide 25 - Slide

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

Slide 26 - Slide

This item has no instructions

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

Slide 27 - Slide

This item has no instructions

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

Omdat is vastgelegd dat de klasses aan de interface voldoen.

Slide 28 - Slide

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 - Slide

This item has no instructions

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

Voorbeelden als support:

Slide 30 - Slide

This item has no instructions