Du tror du må sjekke typen for å kalle riktig metode
Handler om: Polymorfi
Det er fristende å skrive en if-kjede som spør «hvilken type er dette?» før du kaller riktig metode. Men med polymorfi kaller du bare den ene metoden, og hvert objekt svarer selv. Da slipper du if-kjeden helt — og ny type krever ingen endring i løkka.
Eksempel
Du skriver if type(s) == Ball: ... elif type(s) == Fiende: ... i stedet for bare s.tegn().
Slik tenker du riktig om det
Stol på at objektet vet hvordan det skal tegne seg selv. Kall samme metode på alle — s.tegn() — og la hver klasse ha sin egen versjon. Legger du til en ny type senere, trenger du ikke røre løkka.