Kaj je delni razred?

Delni razred je funkcija v nekaterih objektno usmerjenih programskih jezikih, ki omogoča, da se implementacija razreda razdeli med več datotek izvorne kode. Delni razredi, ki jih imenujemo tudi delni tipi, ne obstajajo v številnih programskih jezikih, zlasti v starejših, kot sta C++ in Java. Vsak jezik, ki izvaja delne razrede, kot sta C# in Ruby, obravnava implementacijo nekoliko drugače.

Na splošno delni razredi uporabljajo ključno besedo “delni” za označevanje kosov razreda, in ali je ključna beseda napisana z velikimi črkami, je odvisno od uporabljenega programskega jezika. Vsak kos razreda je inicializiran na enak način z enakimi deklaracijami razreda in brez teh “delnih” ključnih besed bi bilo nezakonito ustvariti več razredov v več datotekah, ki imajo isto ime. Ključna beseda »delni« pove prevajalniku ali tolmaču, odvisno od jezika, naj združi vse razrede v eno veliko enoto. Vsi ločeni deli razreda morajo imeti enako vidnost, pa naj bodo javni, zasebni ali zaščiteni. Če je en del razreda označen kot abstrakten, je tudi združeni razred označen kot abstrakten, tudi če noben od drugih posameznih delov ni bil označen kot tak.

Izvedba delnega razreda v več datotekah ima nekaj pomembnih prednosti tako v slogu programiranja kot v organizaciji. Delni razredi omogočajo eksplicitno ločevanje povezanih kosov kode v bolj specializirane skupine. Poleg tega delni razred omogoča več programerjem, da delajo na določenih delih kode, ne da bi lahko motili druge in nenamerno prepisali revizije. Tudi za posamezne programerje so lahko delni razredi uporabni, saj jih je mogoče uporabiti za ustvarjanje zelo velikih razredov, ne da bi ustvarili eno samo okorno datoteko, ki jo je težko organizirati in prebrati.

Delni vzorci izvajanja razreda imajo tudi nekaj pomembnih pomanjkljivosti. Kljub temu, da so pod okriljem objektno usmerjenega programiranja, delni razredi dejansko kršijo načela inkapsulacije, ki so osrednja za objektno usmerjeno programiranje. V objektno usmerjenem programiranju naj bi bil razred ena sama enotna entiteta, ki ima svoja edinstvena stanja in obnašanja, je samostojna in se lahko uporablja kot kohezivna enota. Delni razredi kršijo to idejo, ker vsak delni razred deluje kot en ločen razred. Čeprav so deli, ki sestavljajo delni razred, med izvajanjem združeni v en velik razred, so deli delnega razreda pogosto neodvisne entitete, ki jih je mogoče uporabiti samostojno, ne da bi bilo potrebno združevanje.