Hlutbundin nálgun á Java-forritun og hjúpun - hluti 5


Frá upphafi þessarar seríu (og jafnvel áður) vissir þú að Java er hlutbundið forritunarmál. Hlutbundið forritunarmál er byggt á hugtakinu hlutir, sem inniheldur gögn sem eiginleika í aðferðum.

Sérhver hlutur í Java hefur ástand og hegðun sem er táknuð með tilviksbreytum og aðferðum. Hvert tilvik af flokki getur haft einstakt gildi fyrir tilviksbreytu hans.

Til dæmis,

Vél A gæti verið virkjað með Debian og verið með 8GB af vinnsluminni á meðan vél B getur sett upp Gentoo með 4GB af vinnsluminni. Það er líka augljóst að það að stjórna vélum sem hafa sett upp Gentoo krefst meiri þekkingu – hegðun sem virkar á ástand hennar. Hér er aðferðin að nota tilviksbreytugildi.

JVM þegar flokkun flokks, gerir það hlut af því tagi. Þegar þú ert að skrifa bekk, virkar þú í raun eins og þýðandi sem segir bekknum þínum hvað hluturinn ætti að vita og hvernig hann ætti að virka. Sérhver hlutur af tiltekinni gerð getur haft mismunandi gildi fyrir sömu tilviksbreytu.

Sérhvert tilvik af flokki hefur sömu aðferð en það er mögulegt að þau hegða sér á mismunandi hátt.

OS flokkurinn hefur 3 tilviksbreytur, nefnilega OS Name, OS Type, OS Category.

Boot() aðferðin ræsir eitt stýrikerfi sem er táknað með OS nafni fyrir það tilvik. Þannig að ef þú ræsir() á einu tilviki muntu ræsa í Debian á meðan á öðru tilviki ræsirðu í Gentoo. Aðferðarkóðinn er sá sami í báðum tilvikum.

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

Þú ert nú þegar meðvitaður um að forritið byrjar að keyra rétt eftir main() aðferðina. Þú getur sent gildi inn í aðferðina þína.

Til dæmis viltu segja þér stýrikerfi hvaða þjónustu á að byrja við ræsingu sem:

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

Það sem þú setur inn í aðferðir kallast rök. Þú getur notað breytu með tegund og nafni inni í aðferð. Það er mikilvægt að senda gildi með færibreytu ef aðferð tekur færibreytu.

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

Hér sendir endurræsingaraðferðin á stýrikerfinu gildið 600 (endurræstu vél eftir 600 sekúndur) sem rök fyrir aðferðinni. Hingað til höfum við séð að aðferð skilar alltaf ógildri, sem þýðir að hún skilar þér engu, einfaldlega sem:

void main()
	{
	…
	…
	}

Hins vegar geturðu beðið þýðandann þinn um að fá nákvæmlega það sem þú vilt og þýðandinn þinn mun ekki skila þér röngum gerðum. Þú gætir einfaldlega gert eins og:

int Integer()
	{
	…
	…
	return 70;
	}

Þú getur sent fleiri en eitt gildisgildi í aðferð. Þú getur gert þetta með því að kalla á tvær færibreytuaðferðir og senda þær í rök. Athugið að breytugerð og færibreytugerð verða alltaf að passa saman.

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

1. Þegar þú veist ekki hvaða gildi á að frumstilla.

int a;
float b;
string c;

2. Þegar vita gildi til að frumstilla.

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

Athugið: Tilviksbreytum er oft ruglað saman við staðbundnar breytur, hins vegar er mjög þunn lína á milli þeirra til að greina á milli.

3. Tilviksbreytur eru lýstar inni í flokki ólíkt staðbundnum breytum sem lýst er yfir innan aðferðar.

4. Ólíkt tilviksbreytum verða staðbundnar breytur að frumstilla áður en hægt er að nota þær. Þýðandinn mun tilkynna um villu ef þú notar staðbundna breytu áður en hún er frumstillt.

Encapsulation

Þú gætir hafa heyrt um encapsulation. Það er eiginleiki í flestum hlutbundnu forritunarmáli sem gerir það mögulegt að binda gögn og aðgerðir í einn íhlut. Encapsulation er studd af flokki og verndar kóða gegn skemmdum fyrir slysni með því að búa til vegg utan um hluti og fela eiginleika þeirra og aðferðir, valið.

Við munum stækka hjúpun í smáatriðum í réttu kennsluefninu þegar þess er krafist. Eins og er er nóg fyrir þig að vita hvað hjúpun er? Hvað gerir það? Og hvernig gerir það?

Það er allt í bili. Haltu áfram að vera tengdur í næsta hluta af þessari Java Series \class and objects in Java and Make your First object in Java á meðan ég er að vinna í því. Ef þér líkar við seríuna og póstinn láttu okkur vita í athugasemdunum.