Java programmeerimise ja kapseldamise objektile orienteeritud lähenemine - 5. osa


Alates selle seeria algusest (ja isegi enne seda) teadsite, et Java on objektile orienteeritud programmeerimiskeel. Objektorienteeritud programmeerimiskeel põhineb mõiste\"objektid \", mis sisaldab andmeid meetodites atribuutidena.

Igal Java objektil on olek ja käitumine, mida esindavad eksemplari muutujad ja meetodid. Igal klassi eksemplaril võib olla selle eksemplari muutuja jaoks ainulaadne väärtus.

Näiteks,

Masin A võib olla varustatud Debianiga ja sellel on 8 GB RAM-i, samal ajal kui masin B võib Gentoo installida 4 GB RAM-iga. Samuti on ilmne, et Gentoo installinud masina haldamine nõuab rohkem teadmisi - käitumist, mis toimib selle oleku järgi. Selles meetodis kasutatakse eksemplari muutujate väärtusi.

Klassi sõelumisel teeb JVM seda tüüpi objektiks. Klassi kirjutades käitute tegelikult nagu kompilaator, kes ütleb klassile, mida objekt peaks teadma ja kuidas see peaks toimima. Igal kindlat tüüpi objektil võib sama eksemplari muutuja jaoks olla erinev väärtus.

Igal klassi eksemplaril on sama meetod, kuid on võimalik, et nad kõik käituvad erinevalt.

OS-klassil on 3 eksemplari muutujat, nimelt OS nimi, OS tüüp, OS kategooria.

Meetod Boot() käivitab ühe operatsioonisüsteemi, mida esindab selle eksemplari OS-i nimi. Nii et kui käivitate() ühes eksemplaris, käivitate Debiani, samas kui teises eksemplaris Gentoo. Meetodi kood jääb mõlemal juhul samaks.

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

Te olete juba teadlik, et programmi käivitamine algab kohe pärast meetodit main() . Saate oma meetodile väärtusi edastada.

Näiteks soovite teile öelda operatsioonisüsteemile, milliseid teenuseid käivitamisel käivitada:

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);

Seda, mida meetoditesse annate, nimetatakse argumentideks. Meetodi sees saate kasutada muutujat, mille tüüp ja nimi on. Parameetriga väärtuste edastamine on oluline, kui meetod võtab parameetri.

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

Siin edastab OS-i taaskäivitamise meetod meetodi argumendina väärtuse 600 (masina taaskäivitamine pärast 600 sekundit). Siiani oleme näinud, et meetod on alati tühine, mis tähendab, et see ei anna teile midagi, lihtsalt:

void main()
	{
	…
	…
	}

Kuid võite paluda kompilaatoril saada täpselt see, mida soovite, ja kompilaator ei tagasta teile valesid tüüpe. Teile võib lihtsalt meeldida:

int Integer()
	{
	…
	…
	return 70;
	}

Meetodile saate saata rohkem kui ühe väärtuse. Seda saate teha, kutsudes kaks parameetrimeetodit ja saates selle argumentidele. Märkuse muutuja tüüp ja parameetri tüüp peavad alati vastama.

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

1. Kui te ei tea lähtestatavat väärtust.

int a;
float b;
string c;

2. Kui teate väärtust Initialize.

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

Märkus: eksemplari muutujaid aetakse sageli segi kohalike muutujatega, kuid nende eristamiseks on nende vahel väga õhuke joon.

3. Eksemplaride muutujad deklareeritakse klassi sees erinevalt kohalikest muutujatest, mis deklareeritakse meetodi sees.

4. Erinevalt eksemplarimuutujatest peavad kohalikud muutujad enne kasutamist initsialiseeruma. Kompilaator teatab veast, kui kasutate kohalikku muutujat enne selle initsialiseerimist.

Kapseldamine

Võib-olla olete kuulnud kapseldamisest. See on enamiku objektile orienteeritud programmeerimiskeele tunnus, mis võimaldab andmeid ja funktsioone ühte komponenti siduda. Kapseldamist toetab klass ja see kaitseb koode juhuslike kahjustuste eest, luues objektide ümber seina ning peidab nende omadused ja meetodid valikuliselt.

Kui vaja, laiendame üksikasjalikult kapseldamist õiges õpetuses. Praegu piisab, kui teate, mis on kapseldamine? Mida see teeb? Ja kuidas see käib?

Praeguseks kõik. Hoidke ühendust selle Java-seeria\"klassi ja Java-objektide järgmise osaga ning tehke oma esimene objekt Java-s", kui ma sellega tegelen. Kui teile seeria meeldib ja postitage, andke meile sellest tagasisidet.