Approċċ Orjentat lejn l-Oġġetti tal-Programmazzjoni u l-Inkapsulament Java - Parti 5


Mill-bidu ta’ din is-serje (u anke qabel) kont taf li Java hija Lingwa ta’ Programmazzjoni Orjentata lejn Oġġetti. Il-Lingwa ta' Programmazzjoni orjentata lejn l-oġġetti hija bbażata fuq il-kunċett ta' \oġġetti, li fih data bħala attributi fil-metodi.

Kull oġġett f'Java għandu stat u mġiba li huma rappreżentati minn varjabbli u metodi ta 'istanza. Kull istanza ta 'klassi jista' jkollha valur uniku għall-varjabbli ta 'istanza tagħha.

Pereżempju,

Magna A jista 'jitħaddem b'Debian u jkollha 8GB ta' RAM filwaqt li Magna B jista 'jkollha installata Gentoo b'4GB ta' RAM. Ukoll huwa ovvju li l-ġestjoni tal-Magni li installaw Gentoo teħtieġ aktar għarfien - Imġieba li taġixxi fuq l-istat tagħha. Hawnhekk il-metodu qed juża valuri varjabbli tal-istanza.

Il-JVM meta parse klassi, jagħmel oġġett ta 'dak it-tip. Meta tkun qed tikteb klassi, fil-fatt taġixxi bħal kompilatur li tgħid lill-klassi tiegħek x'għandu jkun jaf l-oġġett u kif għandu jaġixxi. Kull oġġett ta 'tip partikolari jista' jkollu valur differenti għall-istess istanza varjabbli.

Kull Istanza ta' klassi għandha l-istess metodu iżda huwa possibbli li kollha kemm huma jaġixxu b'mod differenti.

Il-klassi OS għandha 3 varjabbli Istanza jiġifieri Isem OS, Tip OS, Kategorija OS.

Il-metodu Boot() jibda OS wieħed li huwa rappreżentat minn OS Name għal dik l-istanza. Mela jekk inti boot() f'istanza waħda se tibbotja f'Debian filwaqt li f'istanza oħra tibbotja f'Gentoo. Il-kodiċi tal-metodu, jibqa 'l-istess fiż-żewġ każi.

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

Int diġà taf li l-programm jibda jwettaq eżatt wara l-metodu main(). Tista 'tgħaddi l-valuri fil-metodu tiegħek.

Per eżempju inti tixtieq tgħidlek OS liema servizzi tibda fil boot bħala:

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

Dak li tgħaddi f'metodi jissejħu argumenti. Tista' tuża varjabbli b'tip u isem ġewwa metodu. Huwa importanti li jgħaddu valuri b'parametru jekk metodu jieħu parametru.

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

Hawnhekk il-metodu ta 'reboot fuq l-OS jgħaddi l-valur ta' 600 (magna reboot wara 600 sek) bħala argument għall-metodu. S'issa rajna l-metodu dejjem jirritorna null, li jfisser li ma jirritornak xejn, sempliċement bħala:

void main()
	{
	…
	…
	}

Madankollu tista 'titlob lill-kompilatur tiegħek biex tikseb eżattament dak li qed tixtieq u l-kompilatur tiegħek ma jirritornakx tipi żbaljati. Tista 'sempliċement tagħmel bħal:

int Integer()
	{
	…
	…
	return 70;
	}

Tista 'tibgħat aktar minn valur ta' valur wieħed għal metodu. Tista 'tagħmel dan billi ssejjaħ żewġ metodi ta' parametri u tibgħatha lill-argumenti. Innota t-tip varjabbli u t-tip ta' parametru għandhom dejjem jaqblu.

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

1. Meta ma tkunx taf il-valur li initialize.

int a;
float b;
string c;

2. Meta tkun taf il-valur biex Inizjalizza.

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

Nota: Il-varjabbli ta' istanza ħafna drabi huma konfużi ma' varjabbli lokali, madankollu hemm linja rqiqa ħafna bejniethom biex tiddifferenzja.

3. Istanza Varjabbli huma ddikjarati ġewwa klassi b'differenza mill-varjabbli lokali li huma ddikjarati fi ħdan metodu.

4. B'differenza mill-Varjabbli tal-Istanza, il-varjabbli lokali għandhom jinizjalizzaw qabel ma jkunu jistgħu jintużaw. Il-kompilatur jirrapporta żball jekk tuża varjabbli lokali qabel ma tiġi inizjalizzata.

Inkapsulament

Forsi smajt dwar l-inkapsulament. Hija karatteristika tal-biċċa l-kbira tal-lingwa ta 'programmar orjentata lejn l-oġġetti li tagħmilha possibbli li torbot id-data u l-funzjonijiet f'komponent wieħed. L-inkapsulament huwa appoġġjat mill-klassi u jipproteġi l-kodiċi minn ħsara aċċidentali billi joħloq ħajt madwar l-oġġetti u jaħbi l-proprjetajiet u l-metodi tagħhom, b'mod selettiv.

Aħna se nespandu l-inkapsulament fid-dettalji fit-tutorja t-tajba meta jkun meħtieġ. Minn issa huwa biżżejjed għalik li tkun taf X'inhu l-inkapsulament? X'tagħmel? U kif tagħmel?

Dak kollu għalissa. Żomm konness għall-parti li jmiss ta 'din is-Serje Java \klassi u oġġetti f'Java u Agħmel l-Ewwel oġġett tiegħek f'Java waqt li qed naħdem fuqha. Jekk togħġbok is-serje u l-posta għarrafna fir-rispons.