Junior — Middle
Leg het concept van duck typing uit en waarin het verschilt van statische typisering in programmeren.
sobes.tech AI
Antwoord van AI
Duck typing is een concept in programmeren waarbij het type van een object niet wordt bepaald door zijn klasse of interface, maar door de aanwezigheid van bepaalde methoden en eigenschappen. Als een object zich gedraagt als een "eend" (de benodigde methoden heeft), wordt het als geschikt beschouwd.
Verschil met statische typing:
- Bij statische typing worden de types gecontroleerd tijdens compilatie, en moeten objecten expliciet overeenkomen met gedefinieerde types.
- Bij duck typing gebeurt de controle tijdens runtime, en is alleen de compatibiliteit van de interface (methoden/eigenschappen) belangrijk, niet overerving of gedeclareerde types.
Voorbeeld in Python (duck typing):
class Duck:
def quack(self):
print("Kwak kwak")
class Person:
def quack(self):
print("Ik kan kwakken als een eend")
def make_it_quack(thing):
thing.quack()
make_it_quack(Duck()) # Kwak kwak
make_it_quack(Person()) # Ik kan kwakken als een eend
Hier maakt de functie zich geen zorgen over het type van het object, alleen over de aanwezigheid van de quack-methode.