Hvad er en metaclass?

En metaklasse bruges i objektorienteret programmering (OOP) og betragtes typisk som en klasseklasse. Som de fleste meta-oplysninger fungerer metaklassen bag programmet og ses aldrig af brugeren. En metaklasse er i stand til at ændre information fra klassen og kan knyttes til en eller mange klasser, afhængigt af kodningsstrukturen. Ikke alle OOP-strukturer inkluderer metaobject-kodning, og nogle tilbyder måske kun metaobject-kodning i avancerede formater.

I næsten alle typer kodning er metakodning et mærke eller kodelinie, der fungerer på programmet, men det ses ikke åbenlyst af brugeren. Meta-information er over koden og er i stand til at ændre oplysninger eller tilføje til programmet uden direkte at forstyrre programmet. I OOP bruges en metaklasse til at tage en klasse og ændre dens opførsel.

En klasse i OOP er et sæt tilfælde eller objekter, der er placeret under et paraplybegrep. F.eks. Kan programmereren oprette en klasse kaldet "Hus." Under dette opretter programmøren objekter, der ændrer eller gengiver aspekter, der ofte findes i et hus, såsom værelser, møbler og mennesker. Mens en klasse er i stand til at ændre disse objekter, vil en metaklasse arbejde på at ændre klassen i sig selv.

Klasser i OOP er typisk dynamiske og kan gennemgå mange ændringer, før programmet er afsluttet. Metaclasses er statiske oplysninger, der sjældent ændres, medmindre programmereren finder, at meta-informationen ikke fungerer korrekt. Dette forhindrer, at metaclasses ved et uheld arbejder med flygtige data og sikrer også, at adfærdsmodifikatorerne ikke kan manipuleres.

Afhængig af programmeringsbehovet, vil en metaklasse enten være knyttet til en enkelt klasse eller til mange klasser på én gang. Programmerere forbinder ofte metaklassen til en klasse og tilføjer unikke regler eller opførsel i metaobjektkodningen. Hvis der er flere klasser, der alle kan gennemgå den samme adfærdsændring, anvendes metaupplysningen til flere forskellige klasser. Dette er muligt, fordi metaobjektkodningen er titlen og let kan kaldes når det er nødvendigt.

Selvom dette er en almindelig forekomst i mellemliggende til avancerede programmer, tilbyder nogle OOP-strukturer ikke metaclasses. Dette er enten fordi der ikke er behov for dem, eller der er andre objekter eller klasser, der har lignende funktioner, men kaldes noget andet. Nogle kodningstrukturer tilbyder muligvis kun komplekse og avancerede metaclasses, hvor andre har enklere strukturer til mellemliggende kodere at bruge.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?