Hvad er en delklasse?
En delklasse er en funktion i nogle objektorienterede programmeringssprog, der gør det muligt at opdele implementeringen af en klasse mellem flere kildekodefiler. Delklasser, der også kaldes partityper, findes ikke i mange programmeringssprog, især ældre som C ++ og Java. Hvert sprog, der implementerer delklasser, såsom C # og Ruby, håndterer implementeringen lidt anderledes.
Generelt bruger delklasser det "delvise" nøgleord til at betegne klassestykker, og hvorvidt nøgleordet er aktiveret afhænger af det programmeringssprog, der bruges. Hvert stykke af klassen initialiseres på samme måde med identiske klassedeklarationer, 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 tolken, afhængigt af sproget, om at flette alle klasser til en enkelt stor enhed. Alle de forskellige dele af klassen skal have den samme synlighed, hvad enten det er offentligt, privat eller beskyttet. Hvis en del af klassen betegnes som abstrakt, udpeges den fusionerede klasse også til at være abstrakt, selvom ingen af de andre individuelle dele blev betegnet som sådan.
Implementeringen af en delklasse på tværs af flere filer har nogle væsentlige fordele både i programmeringsstil og organisering. Delklasser giver mulighed for eksplicit opdeling af relaterede kodestykker i mere specialiserede grupper. Derudover giver en delklasse flere programmerere mulighed for at arbejde på bestemte dele af koden uden potentielt at forstyrre de andre og ved et uheld overskrive revisioner. Selv for enkeltprogrammører kan delklasser være nyttige, idet de kan bruges til at oprette meget store klasser uden også at oprette en enkelt uhåndterlig fil, der er vanskelig at organisere og læse igennem.
Delvise klasseimplementeringsmønstre har også nogle betydelige ulemper. På trods af at være under paraplyen med objektorienteret programmering, krænker delklasser faktisk indkapslingsprincipperne, der er centrale for objektorienteret programmering. I objektorienteret programmering antages en klasse at 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. Delklasser krænker denne idé, fordi hver delklasse fungerer som en enkelt separat klasse. Selvom brikkerne, der udgør en delklasse, er slået sammen til en stor klasse under kørsel, er delklassens stykker ofte uafhængige enheder, der kunne bruges alene uden nogen form for sammensmeltning.