Eigenschappen zijn voor velen veel nieuwe programmeerconstructies. Het ontwerp van eigenschappen kan een moeilijke taak zijn voor nieuwe programmeurs. In dit artikel worden de belangrijkste stappen beschreven voor het aangeven van eigenschappen en wanneer en waarom deze te declareren.

Stappen

  1. 1 Bepaal het algemene type woning dat u ontwerpt en het belangrijkste gebruik ervan. Veel voorkomende typen eigenschappen zijn:
    • Accessors to Fields: de eigenschap haalt eenvoudig de waarde van een privéveld op en schrijft ernaar.
    • Event Triggering Accessors to Fields: accessors die, naast het ophalen en schrijven van de waarde van het veld, ook een gebeurtenis activeren die gerelateerd is aan het veld. Bijvoorbeeld een gebeurtenis starten wanneer de waarde verandert (wat het meest voorkomt onder dit soort eigenschappen)
    • Berekende velden: deze worden gebruikt voor het emuleren van een veld dat niet feitelijk in het object is opgeslagen, maar is berekend op basis van reeds opgeslagen waarden. De eigenschap "Gebied" in een "Cirkel" -object wordt bijvoorbeeld niet daadwerkelijk opgeslagen, maar wordt eerder berekend op basis van de straal van de cirkel.
    • Waarden van gegevensopslag: dit zijn eigenschappen die worden gebruikt om gegevens uit een gegevensopslag op te halen, zoals een database of een bestand.
  2. 2 Bepaal het gegevenstype van de eigenschap.
  3. 3 Bepaal de bereikbaarheid van de woning. Eigenschappen kunnen zijn openbaar, intern, beschermde, beschermd intern of privaat. Dit definieert welke delen van code toegang hebben tot deze eigenschap. Gewoonlijk zijn eigenschappen openbaar, beschermd of privé. We hoeven zelden interne of beschermde interne eigenschappen te maken.
  4. 4 Bepaal de leesbaarheid van de woning. Dat is om te beslissen of gebruikers de eigenschap alleen moeten kunnen lezen of er ook aan kunnen toewijzen.
  5. 5 Bepaal de omvang van de woning. Dat is om te beslissen of de eigenschap tot de klasse zelf behoort en niet tot een specifiek object van de klasse (statisch bereik) of tot objecten van de klasse behoort (zie onderstaande Tips)
  6. 6 Bepaal het polymorfismegedrag van de eigenschap. Dit betekent dat u beslist of u verwacht dat overervende klassen de implementatie van de property moeten wijzigen of niet. De woning kan zijn virtueel (wat betekent dat overervende klassen dit kunnen negeren - de implementatie ervan wijzigen), abstract (wat betekent dat de implementatie van de eigenschap op dit moment niet bekend is, maar alle overervende klassen zouden een implementatie ervan moeten bieden als ze zelf niet abstract willen zijn, of normaal, wat betekent dat overervende klassen de verstrekte implementatie moeten gebruiken of de methode moeten overschrijven die maakt de nieuwe implementatie ontoegankelijk via een basisreferentie.
  7. 7 Ontwerp de code die gegevens zal ophalen wanneer de eigenschap aan de rechterkant van een toewijzingsinstructie wordt gebruikt. Voor de eigenschap "Gebied", bijvoorbeeld, hoe bereken en retourneer je het gebied als de eigenschap wordt gebruikt in een instructie als "x = a.Area;"
  8. 8 Ontwerp de code die naar de woning zal schrijven. Met andere woorden, wat er moet gebeuren wanneer aan de eigenschap een waarde wordt toegewezen zoals in een instructie als "a.Area = 20;". Deze stap wordt alleen uitgevoerd als u ervoor kiest om een ​​lees-schrijf-eigenschap in 4 te implementeren. Voor alleen-lezen eigenschappen (zoals het voorbeeld Gebied) slaat u deze stap over.
  9. 9 Declareer de eigenschap met behulp van de volgende syntaxis: toegankelijkheid-modifier [statisch|virtueel|abstract] returnType Eigendomsnaam krijgenretrieval-code; terugkeer winstwaarde; [reeks-code toewijzen;] Waar:
    • toegankelijkheid-modifier is een van openbaar, privaat, beschermde, intern of beschermd intern. Indien weggelaten, wordt uitgegaan van de minst mogelijke toegankelijkheid (dit is meestal privé)
    • returnType is het gegevenstype van de gegevens vertegenwoordigd door de eigenschap. Dit kan niet ongeldig zijn.
    • Eigendomsnaam is de naam van de woning die u aan het declareren bent.
    • retrieval-code is de code die wordt gebruikt om gegevens uit de eigenschap op te halen.
    • winstwaarde is de waarde die u wilt teruggeven aan de beller van de eigenschap (meestal is dit een resultaat van de verwerking die wordt uitgevoerd door de ophaalcode)
    • -code toewijzen is de code die wordt gebruikt om een ​​bepaalde waarde aan de eigenschap toe te wijzen. De waarde die de gebruiker geeft in de toewijzingsinstructie die deze code activeert, wordt doorgegeven aan de reeks methode als een referentie genoemd waarde. Bijvoorbeeld, als de gebruiker de code heeft geschreven: a.Area = 10; er zal een referentie worden genoemd waarde in het lichaam van reeks heeft de waarde 10.
    • Items tussen vierkante haken in de syntaxis hierboven zijn optioneel (bijvoorbeeld de reeks methode is optioneel).