Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
Deze inhoud wordt opnieuw afgedrukt met toestemming van Pearson Education, Inc. uit Framework Design Guidelines: Conventies, idioom en patronen voor herbruikbare .NET-bibliotheken, 2e editie. Die editie werd in 2008 gepubliceerd en het boek is sindsdien volledig herzien in de derde editie. Sommige informatie op deze pagina is mogelijk verouderd.
Het principe van inkapseling is een van de belangrijkste concepten in objectgeoriënteerd ontwerp. Dit principe geeft aan dat gegevens die zijn opgeslagen in een object alleen toegankelijk moeten zijn voor dat object.
Een handige manier om het principe te interpreteren, is om te zeggen dat een type zodanig moet worden ontworpen dat wijzigingen in velden van dat type (naam- of typewijzigingen) kunnen worden aangebracht zonder dat andere code dan voor leden van het type wordt onderbroken. Deze interpretatie impliceert onmiddellijk dat alle velden privé moeten zijn.
We sluiten constante en statische alleen-lezen velden uit van deze strikte beperking, omdat dergelijke velden, bijna per definitie, nooit hoeven te worden gewijzigd.
❌ Geef geen exemplaarvelden op die openbaar of beveiligd zijn.
U moet eigenschappen opgeven voor toegang tot velden in plaats van ze openbaar of beveiligd te maken.
✔️ Gebruik wel constante velden voor constanten die nooit veranderen.
De compiler schrijft de waarden van constantenvelden direct in de aanroepcode. Const-waarden kunnen daarom nooit worden gewijzigd zonder het risico dat compatibiliteit wordt onderbroken.
✔️ Gebruik openbare statische readonly velden voor vooraf gedefinieerde objectexemplaren.
Als er vooraf gedefinieerde exemplaren van het type zijn, declareert u deze als openbare statische velden met het kenmerk Alleen-lezen van het type zelf.
❌ Wijs geen exemplaren van veranderlijke typen toe aan readonly velden.
Een veranderlijk type is een type met exemplaren die kunnen worden gewijzigd nadat ze zijn geïnstantieerd. Matrices, de meeste verzamelingen en streams zijn bijvoorbeeld veranderlijke typen, maar System.Int32System.Uri, en System.String zijn allemaal onveranderbaar. De readonly modifier op een veld van het type referentie voorkomt dat het in het veld opgeslagen exemplaar vervangen wordt, maar verhindert niet dat de gegevens van het exemplaar in het veld gewijzigd kunnen worden door leden die het exemplaar oproepen en veranderen.
© Gedeelten 2005, 2009 Microsoft Corporation. Alle rechten voorbehouden.
Herdrukt door toestemming van Pearson Education, Inc. van Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition by Krzysztof Cwalina and Brad Abrams, gepubliceerd 22 oktober 2008 door Addison-Wesley Professional als onderdeel van de Microsoft Windows Development Series.