Käytämme vakio- tai readonly-komentoa vakion soveltamiseen tai merkitsemiseen ohjelmaa kirjoitettaessa.
Mutta miten ne eroavat toisistaan ja mitä tarkoitusta on käyttää eri tavalla, jos molemmilla on sama tehtävä vakioiden osoittamisessa? Joten selvyyden vuoksi keskustelemme näiden kahden välisistä eroista.
Keskeiset ostokset
- Vakiot ovat muuttumattomia muuttujia, joiden arvot eivät voi muuttua ilmoituksen jälkeen, kun taas vain luku -muuttujat alustetaan vain kerran, eikä niitä voi muuttaa alkuperäisen määrityksen jälkeen.
- Vakiot arvioidaan käännösaikana, kun taas vain luku -muotoiset muuttujat arvioidaan ajon aikana.
- Vakiot tukevat vain arvotyyppejä, kun taas vain luku -muuttujat voivat sisältää arvo- ja viitetyyppejä.
Vakio vs vain luku
Vakiomuuttujat arvioidaan käännöshetkellä, eikä niitä voi muuttaa ajon aikana. Niitä käytetään määrittämään arvoja, joiden ei odoteta muuttuvan. Vain luku on avainsana, jota käytetään olio-ohjelmointikielissä ilmoittamaan, että muuttuja voidaan määrittää vain kerran ja se voidaan arvioida ajon aikana.
Kun yritetään määritellä vakiota, käytetään vakioavainsanaa. Erona on, että se kirjoitetaan kokoamisprosessin aikana. Tämän seurauksena se on käännösaikavakio.
Tämän seurauksena kirjoitat ohjelman ja kääntäjä muuntaa sen IL-koodiksi. Välikielikoodi on IL-koodi. Vakio, jonka haluat määrittää, on suoraan läsnä muuntamisen aikana.
Tämän seurauksena vakio pysyy vakiona aina.
Toisaalta, jos ohjelma on vain luku, sinun on ensin kirjoitettava se, mutta sitä ei tarvitse alustaa suoraan. Sinulla on mahdollisuus valita toinen kahdesta polusta.
Voit alustaa sen joko ilmoittaessasi vain luku -avainsanan tai luokan rakentajassa. Tämän seurauksena yrität alustaa sen avainsanan ulkopuolella. ilmoitus tai rakentaja aiheuttaa virheen.
Vertailu Taulukko
Vertailun parametrit | Vakio | Lue ainoastaan |
---|---|---|
Määritelmä | Vain luku -kentän luomiseen tarvitaan vain luku -avainsana. | Vain luku -kentän luomiseksi sinun on käytettävä vain luku -avainsanaa. |
laji | Sitä kutsutaan käännösaikavakioksi | Sitä kutsutaan käyntiaikavakioksi |
Voidaanko se määritellä menetelmässä? | Kyllä | Ei |
Voiko sitä muuttaa sen ilmoittamisen jälkeen? | Ei | Kyllä |
Voitko käyttää staattisia modifioijia sen kanssa? | Ei | Kyllä |
Mikä on Constant?
Tietokoneohjelmoinnin kehittämisessä on noudatettava joitain ohjeita. On olemassa paljon avainsanoja, jotka kootaan ja kerrotaan, kuinka ohjelma suoritetaan sopivalla tavalla.
Tämän seurauksena ilmauksen todellisen tärkeyden ymmärtäminen on välttämätöntä, ennen kuin määritellään tietty termi tarkalla hetkellä.
Ja on olemassa useita termejä, joilla näyttää olevan sama ilmeinen merkitys, kun niitä käytetään eri yhteyksissä. Käsittelemme tässä artikkelissa yhtä tällaista kertaa, jatkuvaa avainsanaa.
Ohjelmoijan on tärkeää tietää ero vakio- ja vain luku -avainsanojen välillä.
Koska arvo on määritettävä rakennusaikana, vakioavainsanaa kutsutaan käännösaikavakioksi.
Kun olet määrittänyt arvon, et voi muuttaa sitä uudelleen ohjelmoimalla. muuten tulee virheilmoitus. Sopimusta ei voi muuttaa sen jälkeen, kun se on annettu.
Oletusarvon mukaan vakio on staattinen. Numeerisia ja merkkivakioita on useita erilaisia. Virheiden välttämiseksi arvot on määritettävä käännöshetkellä.
Et voi käyttää vakiomuutoksia vakioavainsanojen kanssa. Jatkuvaa avainsanaa käytetään myös absoluuttisille vakioille tai arvoille, jotka ovat universaaleja vakioita.
Mikä on vain luku?
Tässä keskitymme olennaiseen eroon vakio- ja vain luku -avainsanojen välillä. Molemmat ovat ymmällään, koska he uskovat, että heidän tehtävänsä on määrittää vakio ohjelmassa.
Ne eivät kuitenkaan ole samoja ja niitä käytetään eri tavoilla. Jatkuvasta avainsanasta ja sen käytöstä on jo keskusteltu. Tässä on muutamia tapoja kertoa ero näiden kahden välillä.
Kun on kyse vain luku -avainsanoista tietokonekielellä, on olemassa neljä skenaariota, joissa vain luku -avainta voidaan käyttää.
Vain luku -avainsanaa, toisin kuin vakioavainsanoina, kutsutaan usein ajonaikaiseksi vakioksi, koska se voidaan ilmoittaa ajon aikana.
Arvo voidaan asettaa funktiokonstruktorissa ja se on edelleen samassa luokassa. Vain luku -avainsanat, toisin kuin vakioavainsanat, voidaan määrittää useita kertoja ilmoituskentässä tai funktion rakentajassa.
Et voi määrittää vain luku -kenttää, jos funktion rakentaja on jo olemassa.
Tämän seurauksena vain luku -arvotyyppien kenttä on muuttumaton; toisaalta viitetyyppien tulisi sisältää dataa, joka on yhteensopiva vain luku -komennon kohteen kanssa.
Sitten on vain luku rakenne, vain luku -muotoiset esiintymän jäsenet ja ref-vain luku -menetelmän palautus. Jokaisella kentällä on erilainen merkitys. Kaiken kaikkiaan tällaisten vakioiden määrittämiseen voidaan käyttää vain luku -avainta.
Tärkeimmät erot jatkuvan ja vain luku -tilan välillä
- Jos haluat luoda vakiokentän, käytä jatkuvaa avainsanaa, kun taas jos haluat luoda vain luku -kentän, käytä vain luku -avainsanaa.
- Käännösaikavakio tunnetaan vakiona, kun taas vain luku -vakio tunnetaan ajonaikavakiona.
- Metodi voi määrittää vakion, mutta vain luku -muoto ei.
- Kun vakio on ilmoitettu, sitä ei voi muuttaa, kun taas vain luku voidaan ilmoittaa useita kertoja.
- Staattisia modifikaatioita ei voida soveltaa vakioihin, vaikka niitä voidaan soveltaa vain luku -muuttujiin.
Viimeksi päivitetty: 11. kesäkuuta 2023
Sandeep Bhandari on suorittanut tietokonetekniikan kandidaatin tutkinnon Thaparin yliopistosta (2006). Hänellä on 20 vuoden kokemus teknologia-alalta. Hän on kiinnostunut erilaisista teknisistä aloista, mukaan lukien tietokantajärjestelmät, tietokoneverkot ja ohjelmointi. Voit lukea hänestä lisää hänen sivuiltaan bio-sivu.
Ymmärrän, kuinka tämä hämmentää aloittelevia ohjelmoijia.
Tämä on niin kuiva aihe, mutta se on esitetty mukaansatempaavalla ja selkeällä tavalla.
Minun täytyy olla kanssasi eri mieltä tästä, minusta tämä on erittäin tylsää.
samaa mieltä! Odotin kyllästyväni, mutta se oli hienoa luettavaa.
Vertailutaulukko on erittäin hyödyllinen, loistava artikkeli kaiken kaikkiaan.
Hyödyllinen selitys, kiitos!
Mielenkiintoista ymmärtää näiden kahden väliset erot ja yhtäläisyydet.
Melko informatiivinen, en silti ole varma, milloin kutakin käyttää. Voiko joku selventää?
Tietysti autan mielelläni tässä!