Skip to main content

Hvad er en delvis klasse?

En delvis klasse er en funktion i nogle objektorienterede programmeringssprog, der gør det muligt at opdele en klasse mellem flere kildekodefiler.Delvise klasser, der også kaldes delvise typer, findes ikke på mange programmeringssprog, især ældre som C ++ og Java.Hvert sprog, der implementerer delvise klasser, såsom C# og Ruby, håndterer implementeringen lidt anderledes.

Generelt bruger delvise klasser det delvise nøgleord til at betegne klassestykker, og om nøgleordet er kapitaliseret afhænger af det programmeringssprog, der bruges.Hvert stykke af klassen initialiseres på samme måde med identiske klasseklarationer, og uden disse delvise nøgleord ville det være ulovligt at oprette flere klasser i flere filer alle med samme navn.Det delvise nøgleord fortæller kompilatoren eller tolk, afhængigt af sproget, at fusionere alle klasser til en enkelt stor enhed.Alle de forskellige dele af klassen skal have den samme synlighed, det være sig offentligt, privat eller beskyttet.Hvis den ene del af klassen betegnes som abstrakt, er den fusionerede klasse også udpeget til at være abstrakt, selvom ingen af de andre individuelle dele blev udpeget som sådan.

Implementeringen af en delvis klasse på tværs af flere filer har nogle betydelige fordele beggei programmeringsstil og organisation.Delvis klasser giver mulighed for eksplicit adskillelse af relaterede kodestykker i mere specialiserede grupper.Derudover giver en delvis klasse flere programmerere mulighed for at arbejde på specifikke dele af koden uden potentielt at forstyrre de andre og ved et uheld overskrive revisioner.Selv for enkeltprogrammerere kan delvise klasser være nyttige, idet de kan bruges til at skabe meget store klasser uden også at oprette en enkelt uhåndterlig fil, der er vanskelig at organisere og læse igennem.

Implementering af delvis klasse har også nogle betydelige ulemper.På trods af at være under paraplyen af objektorienteret programmering, krænker delvis klasser faktisk indkapslingsprincipperne, der er centrale for objektorienteret programmering.I objektorienteret programmering skal en klasse være en enkelt samlet enhed, der har sine egne unikke tilstande og adfærd, er selvstændig og kan bruges som en sammenhængende enhed.Delvis klasser krænker denne idé, fordi hver delvis klasse fungerer som en enkelt separat klasse.Selvom de stykker, der udgør en delvis klasse, er fusioneret til en stor klasse ved runtime, er de delvise klasses stykker ofte uafhængige enheder, der kunne bruges på egen hånd uden nogen form for fusion.