Avainero – luokka vs. ilmentymämuuttujat
Useimmat nykyaikaiset ohjelmointikielet tukevat olioohjelmointia. Objekti sisältää dataa tai attribuutteja. Objektilla on tiettyjä käyttäytymismalleja. Ne tunnetaan menetelminä. Ohjelma voidaan mallintaa objektien avulla. Ohjelmisto on kokoelma ohjelmia. Siksi ohjelmisto voidaan suunnitella ja toteuttaa objektien avulla. Objektien vuorovaikutuksessa käytetään menetelmiä. Olio-ohjelmointi parantaa koodin modulaarisuutta ja uudelleenkäytettävyyttä. Objektien luomista varten pitäisi olla luokka. Luokka on suunnitelma objektin luomiseksi. Siksi objekti on luokan esiintymä. Ohjelmoinnissa tiedot piti tallentaa. Tiedot tallennetaan muistipaikkoihin. Näitä muistipaikkoja kutsutaan muuttujiksi. Jäsenmuuttuja on muuttuja, joka liittyy tiettyyn objektiin. Se on käytettävissä kaikilla menetelmillään. Jäsenmuuttujia on kahta tyyppiä, jotka ovat luokkamuuttujia ja ilmentymämuuttujia. Keskeinen ero luokka- ja ilmentymämuuttujien välillä on, että jos muuttujasta on vain yksi kopio, joka on jaettu luokan kaikkien esiintymien kanssa, näitä muuttujia kutsutaan luokkamuuttujiksi ja jos jokaisella luokan esiintymällä on oma kopio muuttujasta, näitä muuttujia kutsutaan esiintymämuuttujiksi.
Mitä ovat luokkamuuttujat?
Kun muuttujasta on vain yksi kopio jaettu luokan kaikkien esiintymien kanssa, näitä muuttujia kutsutaan luokkamuuttujiksi. Luokkamuuttujat ovat muuttujia, jotka on ilmoitettu luokassa minkä tahansa menetelmän ulkopuolella. Nämä muuttujat sisältävät avainsanan static. Nämä muuttujat liittyvät luokkaan, eivät objektiin.
Kuva 01: Luokkamuuttujat ja ilmentymämuuttujat
Katso alla olevaa koodinpätkää luokkamuuttujilla.
julkinen luokka Työntekijä {
julkinen staattinen sisäinen tunnus;
julkinen staattinen tuplapalkka;
}
julkinen luokkakoe {
julkinen staattinen void main(string args){
Työntekijä e1=uusi työntekijä();
Työntekijä e2=uusi työntekijä();
}
}
Yllä olevan ohjelman mukaan e1 ja e2 ovat Työntekijätyyppisiä objekteja. Molemmilla on sama kopio muistista. Jos e1.id=1 ja tulostettaessa e2.id, saadaan myös arvo 1. Tunnus- ja palkkaarvot voidaan tulostaa käyttämällä Työntekijä-luokan nimeä, kuten Työntekijä.id, työntekijä.palkka jne.
Mitä ovat ilmentymämuuttujat?
Kun jokaisella luokan ilmentymällä on oma kopio muuttujasta, nämä muuttujat tunnetaan ilmentymämuuttujina. Katso alla olevaa ohjelmaa.
julkinen luokka Työntekijä {
julkinen int id;
julkinen kaksinkertainen palkka;
}
julkisen luokan koe{
julkinen staattinen void main(string args){
Työntekijä e1=uusi työntekijä();
e1.id=1;
e1.palkka=20000;
Työntekijä e2=uusi työntekijä();
e2.id=2;
e2. palkka=25000;
}
}
Pääohjelmassa e1 ja e2 ovat viittauksia Työntekijä-tyypin objekteihin. Tunnukselle ja palkalle on mahdollista antaa arvoja pisteoperaattorilla, kuten e1.id, e1. palkka jne. Tunnus ja palkka luokassa Työntekijä tunnetaan instanssimuuttujina.e1 ja e2 ovat erillisiä objekteja. Jokaisella objektilla on erillinen kopio ilmentymämuuttujista. E1:llä on erillinen tunnus ja palkka ja e2:lla erillinen tunnus ja palkka. Eli ilmentymämuuttujat luodaan, kun objekti tai ilmentymä luodaan.
Mitä yhtäläisyyksiä luokka- ja ilmentymämuuttujien välillä on?
- Molemmat ovat muuttujatyyppejä.
- Molemmat muuttujat ovat luokan sisällä, mutta minkä tahansa metodin ulkopuolella.
Mitä eroa luokka- ja ilmentymämuuttujilla on?
Luokkamuuttujat vs ilmentymämuuttujat |
|
Luokan muuttujat ovat muuttujia, joissa on vain yksi kopio muuttujasta, joka on jaettu luokan kaikkien esiintymien kanssa. | Instanssimuuttujat ovat muuttujia, kun jokaisella luokan esiintymällä on oma kopio muuttujasta. |
Yhdistys | |
Luokan muuttujat liittyvät luokkaan. | Instanssimuuttujat liittyvät objekteihin. |
Kopioiden määrä | |
Luokan muuttujat luovat yhden kopion kaikille objekteille. | Instanssimuuttujat luovat erillisen kopion jokaiselle objektille. |
Avainsanat | |
Luokan muuttujissa tulee olla staattinen avainsana. | Instanssimuuttujat eivät vaadi erityistä avainsanaa, kuten staattista. |
Yhteenveto – Luokka vs. ilmentymämuuttujat
Objektiohjattu ohjelmointi on tärkeä ohjelmointiparadigma. Se auttaa mallintamaan ohjelmistoa esineiden avulla. Objektit luodaan luokkien avulla. Objektien luominen tunnetaan myös instantiationa. Luokka tarjoaa suunnitelman objektin luomiseksi. Jäsenmuuttuja on muuttuja, joka liittyy tiettyyn objektiin. Se on käytettävissä kaikilla menetelmillään. Jäsenmuuttujia on kahdenlaisia, luokkamuuttujia ja ilmentymämuuttujia. Ero luokka- ja ilmentymämuuttujien välillä on siinä, että jos muuttujasta on vain yksi kopio, joka on jaettu luokan kaikkien esiintymien kanssa, näitä muuttujia kutsutaan luokkamuuttujiksi ja jos jokaisella luokan esiintymällä on oma kopio muuttujasta, muuttujia kutsutaan ilmentymämuuttujiksi.
Lataa PDF-versio Class vs Instance -muuttujista
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä: Ero luokka- ja ilmentymämuuttujien välillä