Java-ohjelmoinnin ja kapseloinnin objektiivinen lähestymistapa - osa 5


Tämän sarjan alusta lähtien (ja jo ennen sitä) tiesit, että Java on objektisuuntautunut ohjelmointikieli. Kohdekeskeinen ohjelmointikieli perustuu "objektien" käsitteeseen, joka sisältää dataa attribuutteina menetelmissä.

Jokaisella Java-objektilla on tila ja käyttäytyminen, joita edustavat esiintymämuuttujat ja -menetelmät. Kullakin luokan esiintymällä voi olla ainutlaatuinen arvo ilmentymämuuttujalle.

Esimerkiksi,

Koneeseen A voidaan kytkeä virta Debianilla, ja sillä voi olla 8 Gt RAM-muistia, kun taas kone B voi olla asentanut Gentoon 4 Gt: n RAM-muistilla. Lisäksi on ilmeistä, että Gentoon asentaneiden koneiden hallinta vaatii enemmän tietoa - sen tilaan vaikuttavaa käyttäytymistä. Tässä menetelmässä käytetään esiintymämuuttujien arvoja.

Kun JVM jäsentää luokkaa, se tekee sellaisesta esineestä. Kun kirjoitat luokkaa, itse asiassa toimit kuin kääntäjä, joka kertoo luokalle, mitä objektin tulisi tietää ja miten sen pitäisi toimia. Jokaisella tietyntyyppisellä objektilla voi olla eri arvo samalle ilmentymämuuttujalle.

Jokaisella luokan esiintymällä on sama menetelmä, mutta on mahdollista, että kaikki käyttäytyvät eri tavalla.

OS-luokassa on 3 esiintymämuuttujaa, nimittäin käyttöjärjestelmän nimi, käyttöjärjestelmän tyyppi, käyttöjärjestelmän luokka.

Menetelmä Boot() käynnistää yhden käyttöjärjestelmän, jota edustaa kyseisen nimen käyttöjärjestelmän nimi. Joten jos käynnistät() yhdellä instanssilla, käynnistät Debianin, kun taas toisessa instanssissa käynnistät Gentoon. Menetelmäkoodi pysyy samana kummassakin tapauksessa.

Void Boot() 
	{
	bootloader.bootos(OS_Name);
	}

Tiedät jo, että ohjelma alkaa suorittaa heti main() -metodin jälkeen. Voit välittää arvoja sinulle -menetelmään.

Haluat esimerkiksi kertoa käyttöjärjestelmälle, mitkä palvelut aloitetaan käynnistettäessä:

You are already aware that the program starts to execute just after the main() method. You can pass values into you method. For example you would like to tell you OS what services to start at boot as:
OS.services(apache2);

Menetelmiin siirtämiäsi kutsutaan argumenteiksi. Voit käyttää muuttujaa, jonka tyyppi ja nimi ovat menetelmän sisällä. On tärkeää välittää arvot parametrilla, jos menetelmä ottaa parametrin.

OS deb = debian();
deb.reboot(600);

Tässä käyttöjärjestelmän uudelleenkäynnistysmenetelmä välittää arvon 600 (käynnistä kone uudelleen 600 sekunnin kuluttua) argumenttina menetelmälle. Tähän asti olemme nähneet menetelmän aina palaavan mitätön, mikä tarkoittaa, että se ei palauta sinulle mitään, yksinkertaisesti:

void main()
	{
	…
	…
	}

Voit kuitenkin pyytää kääntäjääsi saamaan juuri haluamasi, eikä kääntäjä palauta sinulle väärää tyyppiä. Voit yksinkertaisesti tehdä:

int Integer()
	{
	…
	…
	return 70;
	}

Voit lähettää menetelmälle useita arvoja. Voit tehdä tämän kutsumalla kaksi parametrimenetelmää ja lähettämällä sen argumentteihin. Huomaa muuttujan tyypin ja parametrityypin on aina oltava sama.

void numbers(int a, int b)
	{
	int c = a + b;
	System.out.print(“sum is” +c);
	}

1. Kun et tiedä alustettavaa arvoa.

int a;
float b;
string c;

2. Kun tiedät Initialize-arvon.

int a = 12;
float b = 11.23;
string c = tecmint;

Huomaa: Ilmentymämuuttujat sekoitetaan usein paikallisiin muuttujiin, mutta niiden välillä on kuitenkin hyvin ohut viiva erottamiseksi.

3. Ilmentymämuuttujat ilmoitetaan luokassa, toisin kuin paikalliset muuttujat, jotka ilmoitetaan menetelmän sisällä.

4. Toisin kuin esiintymämuuttujat, paikallisten muuttujien on alustettava ennen kuin niitä voidaan käyttää. Kääntäjä ilmoittaa virheestä, jos käytät paikallista muuttujaa ennen sen alustamista.

Kapselointi

Olet ehkä kuullut kapseloinnista. Se on useimpien olio-ohjelmointikielen ominaisuus, jonka avulla tiedot ja toiminnot voidaan sitoa yhdeksi komponentiksi. Luokka tukee kapselointia ja suojaa koodeja tahattomilta vaurioilta luomalla seinän esineiden ympärille ja piilottamalla niiden ominaisuudet ja menetelmät valikoivasti.

Laajennamme kapselointia yksityiskohdissa oikeassa opetusohjelmassa, kun sitä tarvitaan. Tällä hetkellä riittää, että tiedät, mikä on kapselointi? Mitä se tekee? Ja miten se tapahtuu?

Tässä kaikki tältä erää. Pysy yhteydessä tämän Java-sarjan seuraavaan osaan: ”luokka ja objektit Java-tilassa ja tee ensimmäinen objekti Java-sovelluksessa”, kun työskentelen sen kanssa. Jos pidät sarjasta ja postista, ilmoita siitä meille palautteessa.