Hva er en delklasse?
En delklasse er en funksjon i noen objektorienterte programmeringsspråk som gjør at implementeringen av en klasse kan deles mellom flere kildekodefiler. Delklasser, som også kalles partityper, eksisterer ikke på mange programmeringsspråk, særlig eldre som C ++ og Java. Hvert språk som implementerer delklasser, for eksempel C # og Ruby, håndterer implementeringen litt annerledes.
Generelt bruker delklasser det "delvise" nøkkelordet for å betegne klassestykker, og om nøkkelordet er store bokstaver avhenger av programmeringsspråket som brukes. Hver del av klassen initialiseres på samme måte med identiske klassedeklarasjoner, og uten disse "delvise" nøkkelordene, ville det være ulovlig å opprette flere klasser i flere filer alle med samme navn. Det "delvise" nøkkelordet forteller kompilatoren eller tolken, avhengig av språket, om å slå sammen alle klassene til en stor enhet. Alle de distinkte delene av klassen må ha samme synlighet, det være seg offentlig, privat eller beskyttet. Hvis en del av klassen er utpekt som abstrakt, blir den sammenslåtte klassen også utpekt til å være abstrakt, selv om ingen av de andre individuelle delene ble utpekt som sådan.
Implementering av en delklasse på tvers av flere filer har noen betydelige fordeler både i programmeringsstil og organisering. Delklasser gir mulighet for eksplisitt separasjon av relaterte kodestykker i mer spesialiserte grupper. I tillegg tillater en delklasse flere programmerere å jobbe med bestemte deler av koden uten potensielt å forstyrre de andre og ved en tilfeldighet overskrive revisjoner. Selv for enkeltprogrammerere kan delklasser være nyttige ved at de kan brukes til å lage veldig store klasser uten også å opprette en enkelt uhåndterlig fil som er vanskelig å organisere og lese gjennom.
Delvise implementeringsmønstre har også noen betydelige ulemper. Til tross for at de er under paraplyen av objektorientert programmering, bryter delklasser faktisk innkapslingsprinsippene som er sentrale for objektorientert programmering. I objektorientert programmering antas en klasse å være en enkelt enhet som har sine egne unike tilstander og atferd, er selvforsynt og kan brukes som en sammenhengende enhet. Delklasser bryter med denne ideen fordi hver delklasse fungerer som en enkelt klasse. Selv om brikkene som utgjør en delklasse blir slått sammen til en stor klasse ved kjøretid, er delklassens brikker ofte uavhengige enheter som kan brukes på egen hånd uten noen form for sammenslåing nødvendig.