We gebruiken het commando constant of readonly om een constante toe te passen of aan te duiden tijdens het schrijven van het programma.
Hoe verschillen ze echter en wat is het doel om ze anders te gebruiken als ze allebei dezelfde taak hebben om constanten toe te wijzen? Dus, voor alle duidelijkheid, we zullen de verschillen tussen de twee bespreken.
Key Takeaways
- Constanten zijn onveranderlijke variabelen waarvan de waarden niet kunnen veranderen na de declaratie, terwijl alleen-lezen variabelen slechts één keer worden geïnitialiseerd en niet kunnen worden gewijzigd na hun eerste toewijzing.
- Constanten worden tijdens het compileren geëvalueerd, terwijl alleen-lezen variabelen tijdens runtime worden geëvalueerd.
- Constanten ondersteunen alleen waardetypen, terwijl alleen-lezen variabelen waarde- en referentietypen kunnen bevatten.
Constant versus alleen-lezen
Constante variabelen worden tijdens het compileren geëvalueerd en kunnen tijdens runtime niet worden gewijzigd, en worden gebruikt om waarden te definiëren die naar verwachting niet zullen veranderen. Alleen-lezen is een sleutelwoord dat in objectgeoriënteerde programmeertalen wordt gebruikt om aan te geven dat een variabele slechts één keer kan worden toegewezen en tijdens runtime kan worden geëvalueerd.
Bij een poging om een constante te definiëren, wordt het sleutelwoord constant gebruikt. Het verschil is dat het wordt geschreven tijdens het compilatieproces. Als gevolg hiervan is het een constante tijdens het compileren.
Als gevolg hiervan schrijft u het programma en converteert de compiler het naar IL-code. De tussenliggende taalcode is de IL-code. De constante die u wilt definiëren is direct aanwezig terwijl de conversie plaatsvindt.
Als gevolg hiervan zal de constante altijd constant blijven.
Aan de andere kant, als het programma alleen-lezen is, moet u het eerst schrijven, maar hoeft u het niet direct te initialiseren. Je hebt de mogelijkheid om een van de twee paden te nemen.
U kunt het initialiseren op het moment dat u het alleen-lezen trefwoord declareert of in de constructor van de klasse. verklaring of constructor resulteert in een fout.
Vergelijkingstabel
Parameters van vergelijking | constante | Alleen lezen |
---|---|---|
Definitie | Voor het maken van een alleen-lezen veld moet u het alleen-lezen sleutelwoord gebruiken. | Om een alleen-lezen veld te maken, moet u het alleen-lezen trefwoord gebruiken. |
Soort | Het wordt de compilatietijdconstante genoemd | Dit wordt de looptijdconstante genoemd |
Kan het binnen een methode worden gedefinieerd? | Ja | Nee |
Kan het worden gewijzigd nadat het is gedeclareerd? | Nee | Ja |
Kun je er statische modifiers mee gebruiken? | Nee | Ja |
Wat is constant?
Als het gaat om het ontwikkelen van computerprogrammering, moeten enkele richtlijnen worden gevolgd. Er zijn veel trefwoorden die worden verzameld en verteld hoe een programma op de juiste manier moet worden uitgevoerd.
Als gevolg hiervan is het essentieel om het werkelijke belang van de zin te begrijpen voordat de specifieke term op het exacte moment wordt gedefinieerd.
En er zijn verschillende termen die dezelfde schijnbare betekenis lijken te hebben wanneer ze in verschillende contexten worden gebruikt. In dit artikel bespreken we zo'n moment, het constante zoekwoord.
Het verschil kennen tussen de constante en alleen-lezen trefwoorden is essentieel voor een programmeur om ze van elkaar te onderscheiden.
Omdat de waarde tijdens het bouwen moet worden toegewezen, wordt een constant sleutelwoord een compileertijdconstante genoemd.
Als u eenmaal een waarde heeft toegewezen, kunt u deze niet meer wijzigen door te programmeren; anders verschijnt er een fout. Het is niet mogelijk om de deal te wijzigen nadat deze is toegewezen.
Standaard is een constante statisch. Er zijn verschillende soorten numerieke en tekenconstanten. Om fouten te voorkomen, moeten waarden worden toegewezen op het moment van compilatie.
U kunt geen constante modifiers gebruiken met constante zoekwoorden. Het sleutelwoord continu wordt ook gebruikt voor absolute constanten of waarden die universele constanten zijn.
Wat is alleen-lezen?
Hier concentreren we ons op het cruciale verschil tussen de constante en alleen-lezen zoekwoorden. Beiden staan perplex omdat ze denken dat ze de taak hebben een constante in het programma toe te wijzen.
Ze zijn echter niet hetzelfde en worden op verschillende manieren gebruikt. Het constante sleutelwoord en het gebruik ervan zijn al besproken. Hier zijn enkele manieren om het verschil tussen de twee te zien.
Als het gaat om alleen-lezen trefwoorden in computertaal, zijn er vier scenario's waarin het alleen-lezen trefwoord kan worden gebruikt.
Het alleen-lezen trefwoord wordt, in tegenstelling tot constante trefwoorden, vaak een runtimeconstante genoemd omdat het tijdens runtime kan worden gedeclareerd.
De waarde kan worden ingesteld in de functieconstructor en valt nog steeds binnen dezelfde klasse. Alleen-lezen trefwoorden kunnen, in tegenstelling tot constante trefwoorden, meerdere keren worden toegewezen in het declaratieveld of de functieconstructor.
U kunt geen alleen-lezen veld toewijzen als de functieconstructor al bestaat.
Als gevolg hiervan is het alleen-lezen veld voor waardetypen onveranderlijk; aan de andere kant moeten referentietypen gegevens bevatten die compatibel zijn met het onderwerp van het alleen-lezencommando.
Dan zijn er alleen-lezen struct, alleen-lezen instantieleden en een alleen-lezen methode ref retourneren. Elk veld heeft een andere betekenis. Over het algemeen kan men voor het toewijzen van dit soort constanten het alleen-lezen sleutelwoord gebruiken.
Belangrijkste verschillen tussen constant en alleen-lezen
- Als u een constant veld wilt maken, gebruikt u het doorlopende trefwoord, en als u een alleen-lezen veld wilt maken, gebruikt u het alleen-lezen trefwoord.
- De compile-tijdconstante staat bekend als de constante, terwijl de alleen-lezen-constante bekend staat als de runtimeconstante.
- Een methode kan een constante specificeren, hoewel een alleen-lezen dat niet kan.
- Als een constante eenmaal is vermeld, kan deze niet meer worden gewijzigd, terwijl alleen-lezen meerdere keren kan worden verklaard.
- Statische modifiers kunnen niet worden toegepast op constanten, hoewel ze wel kunnen worden toegepast op alleen-lezen variabelen.
Laatst bijgewerkt: 11 juni 2023
Sandeep Bhandari heeft een Bachelor of Engineering in Computers van Thapar University (2006). Hij heeft 20 jaar ervaring op het gebied van technologie. Hij heeft een grote interesse in verschillende technische gebieden, waaronder databasesystemen, computernetwerken en programmeren. Je kunt meer over hem lezen op zijn bio pagina.
Ik begrijp dat dit verwarrend zou zijn voor beginnende programmeurs.
Het is een droog onderwerp, maar het wordt op een boeiende en duidelijke manier gepresenteerd.
Ik ben het daarover niet met je eens, ik vind dit erg vervelend.
Overeengekomen! Ik had verwacht dat ik me zou gaan vervelen, maar het was een geweldig boek om te lezen.
De vergelijkingstabel is erg nuttig, over het algemeen een geweldig artikel.
Nuttige uitleg, bedankt!
Heel interessant om de verschillen en overeenkomsten tussen de twee te begrijpen.
Behoorlijk informatief, maar ik weet nog steeds niet zeker wanneer ik ze moet gebruiken. Kan iemand dit verduidelijken?
Daar help ik uiteraard graag bij!