Skip to main content

Vad är en partiell klass?

En partiell klass är en funktion i vissa objektorienterade programmeringsspråk som gör att implementeringen av en klass kan delas mellan flera källkodfiler.Partiella klasser, som också kallas partiella typer, finns inte på många programmeringsspråk, särskilt äldre som C ++ och Java.Varje språk som implementerar partiella klasser, som C# och Ruby, hanterar implementeringen lite annorlunda.

I allmänhet använder partiella klasser det partiella nyckelordet för att beteckna klassstycken, och om nyckelordet är aktiverat beror på det programmeringsspråk som används.Varje bit i klassen initialiseras på samma sätt med identiska klassdeklarationer, och utan dessa partiella nyckelord skulle det vara olagligt att skapa flera klasser i flera filer alla med samma namn.Det partiella nyckelordet berättar för kompilatorn eller tolken, beroende på språk, att slå samman alla klasser till en enda stor enhet.Alla de distinkta delarna av klassen måste ha samma synlighet, vare sig det är offentligt, privat eller skyddat.Om en del av klassen utses till abstrakt betecknas den sammanslagna klassen också för att vara abstrakt, även om ingen av de andra enskilda delarna utsågs som sådana.

Implementeringen av en partiell klass över flera filer har några betydande fördelar bådai programmeringsstil och organisation.Partiella klasser möjliggör uttrycklig separering av relaterade kodstycken i mer specialiserade grupper.Dessutom tillåter en partiell klass flera programmerare att arbeta med specifika delar av koden utan att potentiellt störa de andra och av misstag skriva över revideringar.Även för enskilda programmerare kan partiella klasser vara användbara genom att de kan användas för att skapa mycket stora klasser utan att också skapa en enda svår fil som är svår att organisera och läsa igenom.

Partiella klassimplementeringsmönster har också några betydande nackdelar.Trots att de är under paraplyen för objektorienterad programmering, bryter partiella klasser faktiskt inkapslingsprinciperna som är centrala för objektorienterad programmering.Vid objektorienterad programmering är en klass tänkt att vara en enda enhetlig enhet som har sina egna unika tillstånd och beteenden, är fristående och kan användas som en sammanhängande enhet.Partiella klasser bryter mot denna idé eftersom varje partiell klass fungerar som en enda separat klass.Även om bitarna som utgör en partiell klass slås samman till en stor klass vid körning, är de partiella klasserna ofta oberoende enheter som kan användas på egen hand utan att någon form av sammanslagning nödvändig.