Introduktion til objekter i Python
Et objekt er en sammensat datatype. Vi har tidligere set på variable med en enkelt værdi, vi har set på lister, der kan indeholde flere værdier, men objekter er datatyper, som vi selv kan designe/sammensætte og indeholder både værdier og metoder, dvs funktioner, der virker på dette objekt.
Eksempel: Hvis vi skal registrere 140.000 indbyggere i en kommune, er det ikke praktisk, hvis man skal oprette 140.000 variable til > navne, 140.000 til adresser m.m. Lister kunne måske være bedre, men det smarte er, hvis man skaber objekter, fx person hvor al data, > der hører til dette person er samlet eet sted. En person kan være et objekt, som der har nogle egenskaber, fx navn og > personnummer. Vi kan også have nogle metoder, der virker på det objekt, fx udskriv_person_data eller beregn_skat.
Objektorienteret programmering eller OOP er smart, fordi vi kan modellere virkelighedens objekter, vi kan abstrahere dvs. skabe nogle objekter, der har de egenskaber og metoder, som vi skal bruge og vi kan arbejder logisk med disse. Objektorienteret tænkning støtter Computational thinking og modelleriing.
Funktioner nedlægges, når de er udført. Objekter forbliver, indtil vi nedlægger dem. Grafiske brugergrænseflader er typisk opbygget som objekter.
Opret en klasse, egenskaber og metoder
En klasse er en generel beskrivelse af et objekt, som man kan skabe mange konkrete objekter af
class elev:
antalelever = 0
def init(self, navn, elevnummer):
(indryk) self.navn = navn
(indryk) self.elevnummer = elevnummer
Her har vi defineret en egen datatype, elev, der indeholder variablene navn og elevnummer. I metoden init overføres disse til objektet. Init udføres når objektet skabes.
Klasse elev kan også indeholde metoder, altså procedurer, der udføres på netop dette objekt, fx
Opret et objekt
Ovenfor er der erklæret en klasse, men nu kan vi oprette konkrete objekter af typen elev.
elev1= elev("Ulla Larsen", 555)
Brug objektet
Dette objekt lever så længe, vi har fat i det med en variable, fx elev1. Vi kan ændre dets variable og vi kan bruge de metoder eller procedurer, vi har lagt i objektet.
- Læs meget mere om objektorienteret programmering (OOP) i Python på Tutorialspoint
Du kan læse meget mere om, hvordan du arbejder med objekter i denne præsentation