Lektionsplanering: Objektorienterad programmering
Årskurs: Gymnasiet
Ämne: Tillämpad programmering
Tema: Objektorienterad programmering
Koppling till styrdokument
Centralt innehåll
Denna lektion fokuserar på begreppen klasser och objekt inom objektorienterad programmering (OOP). Eleverna kommer att lära sig hur man definierar klasser, skapar objekt och använder egenskaper och metoder i program.
Kunskapskrav
Eleven ska kunna använda objektorienterade begrepp och analysera hur dessa tillämpas i programvaruutveckling.
Lärarledda instruktioner
Introduktion till OOP (10 min)
- Förklara vad objektorienterad programmering innebär och dess fördelar.
- Diskutera skillnaden mellan procedurell och objektorienterad programmering.
- Presentera grundläggande OOP-termer såsom klass och objekt.
Definiera klasser och objekt (15 min)
- Visa hur man definierar en klass i ett programmeringsspråk (exempelvis Python eller Java).
- Diskutera hur man skapar objekt av klassen och skillnaden mellan klass och objekt.
- Ge exempel på konstruktorer och destruktorer.
Egenskaper och metoder (15 min)
- Förklara begreppet egenskaper (attribut) och hur de representerar objektets tillstånd.
- Presentera metoder och deras användning för att definiera objektets beteende.
- Demonstrera hur man anropar metoder i ett program.
Praktisk tillämpning och exempel (10 min)
- Gå igenom ett enkelt exempel på en klass och hur den används i ett program.
- Få eleverna att reflektera över hur OOP kan förenkla kod och öka återanvändbarheten.
- Besvara eventuella frågor innan avslutning.
Aktivitet
Eleverna ska arbeta med en praktisk övning där de i par får designa en klass för en “Bil” som innehåller egenskaper som “fabrikat”, “modell” och “år”. De ska också definiera metoder som “starta()” och “stanna()”. Genom denna aktivitet får de möjligheten att direkt tillämpa det de lärt sig om klasser och metoder.
Exit-ticket
- Vad är en klass? (En mall för att skapa objekt, som definierar egenskaper och metoder.)
- Vad är ett objekt? (En instans av en klass.)
- Vad är skillnaden mellan egenskaper och metoder? (Egenskaper lagrar data, medan metoder definierar objektets beteende.)
- Vad gör en konstruktor? (En metod som används för att skapa och initiera objekt.)
- Hur kan OOP förbättra kodens återanvändbarhet? (Genom att kod kan organiseras i klasser som kan användas flera gånger.)
Hemuppgift
Som hemuppgift ska eleverna skapa en klass i sitt valda programmeringsspråk för ett “Djur” som har egenskaper som “namn”, “art” och “ålder”. Dessutom ska de definiera metoder som “skrik()” som skriver ut ett ljud djuret gör. Syftet är att förstärka förståelsen för klasser och OOP.
Citat
”Det finns inget som heter en perfekt lösning, bara en lösning som fungerar tillräckligt bra.” – Bjarne Stroustrup (1990)
Citatet påminner oss om att programmering handlar om att lösa problem på ett praktiskt sätt, snarare än att sträva efter perfektion. Detta knyter an till lektionen där vi fokuserar på att förstå och använda OOP i praktiken.
Nästa lektion
Förslag på tema för nästa lektion: Datastrukturer och algoritmer