Wat is een gedeeltelijke klas?
Een gedeeltelijke klasse is een functie in sommige objectgeoriënteerde programmeertalen waarmee de implementatie van een klasse kan worden verdeeld tussen meerdere broncodebestanden. Gedeeltelijke klassen, die ook gedeeltelijke typen worden genoemd, bestaan niet in veel programmeertalen, met name oudere zoals C ++ en Java. Elke taal die gedeeltelijke klassen implementeert, zoals C# en Ruby, behandelt de implementatie een beetje anders.
In het algemeen gebruiken gedeeltelijke klassen het "gedeeltelijke" trefwoord om klasstukken aan te duiden en of het trefwoord is gekapitaliseerd, hangt af van de gebruikte programmeertaal die wordt gebruikt. Elk stuk van de klasse wordt op dezelfde manier geïnitialiseerd met identieke klassenverklaringen, en zonder dit "gedeeltelijke" trefwoord zou het illegaal zijn om meerdere klassen in meerdere bestanden met dezelfde naam te maken. Het "gedeeltelijke" trefwoord vertelt de compiler of tolk, afhankelijk van de taal, om alle klassen samen te voegen in een enkele grote eenheid. Alle verschillende delen van de klas moeten de SA hebbenIk zichtbaarheid, of het nu openbaar, privé of beschermd is. Als een deel van de klasse als abstract wordt aangeduid, wordt de samengevoegde klasse ook aangeduid als abstract, zelfs als geen van de andere individuele onderdelen als zodanig zijn aangeduid.
De implementatie van een gedeeltelijke klasse in meerdere bestanden heeft een aantal belangrijke voordelen, zowel in programmeerstijl als in organisatie. Gedeeltelijke klassen zorgen voor expliciete scheiding van gerelateerde codes in meer gespecialiseerde groepen. Bovendien kunnen een gedeeltelijke klasse meerdere programmeurs werken aan specifieke delen van de code zonder de anderen mogelijk te verstoren en revisies per ongeluk te overschrijven. Zelfs voor afzonderlijke programmeurs kunnen gedeeltelijke klassen nuttig zijn omdat ze kunnen worden gebruikt om zeer grote klassen te maken zonder ook een enkel onhandig bestand te maken dat moeilijk te organiseren en te lezen is.
Gedeeltelijke class -implementatiepatronen hebben ook een tekenificante nadelen. Ondanks dat ze onder de paraplu van objectgeoriënteerde programmering zijn, overtreden gedeeltelijke klassen de inkapselingsprincipes die centraal staan in objectgeoriënteerde programmering. Bij objectgeoriënteerde programmering is een klasse een enkele uniforme entiteit die zijn eigen unieke staten en gedrag heeft, is op zichzelf staand en kan worden gebruikt als een samenhangende eenheid. Gedeeltelijke klassen schenden dit idee omdat elke gedeeltelijke klasse werkt als een enkele afzonderlijke klasse. Hoewel de stukken die een gedeeltelijke klasse vormen, worden samengevoegd tot één grote klasse tijdens runtime, zijn de stukken van de gedeeltelijke klasse vaak onafhankelijke entiteiten die op zichzelf kunnen worden gebruikt zonder enige vorm van fusie.