Programbeskrivelse kontra programudførelse | | Det er meget vigtigt at holde programbeskrivelsen (klasserne) adskilt
fra programudførelsen (objekter, med indbyrdes referencer). I nogle
sprog er klasser også objekter, som kan manipuleres af et sæt af
operationer. Disse kaldes for metaobjekter. Smalltalk og CLOS er eksempler på sådanne sprog. Når
klasser også er objekter, kan man spørge sig selv, hvilke klasser
klasse-objekterne er instanser af? Normalt kalder man klasser, hvis
instanser repræsenterer klasser, for metaklasser. Operationerne i
disse metaklasser tillader, at man undersøger og påvirker aspekter af
programmet selv. Med en passende organisering af programmeringsomgivelsen
befordrer metaobjekterne at et program kan tilgå information om sig selv. Dette
kaldes undertiden for refleksion. Dette er imidlertid et videregående emne,
som ikke berøres yderligere på dette kursus |