Object Oriented Approach sa Java Programming ug Encapsulation - Bahin 5


Sukad sa pagsugod niini nga serye (ug bisan sa wala pa kana) nahibal-an nimo nga ang Java usa ka Object Oriented Programming Language. Ang object oriented Programming Language gibase sa konsepto sa \mga butang, nga adunay mga datos isip mga kinaiya sa mga pamaagi.

Ang matag butang sa Java adunay estado ug pamatasan nga girepresentahan sa mga variable ug pamaagi sa pananglitan. Ang matag pananglitan sa usa ka klase mahimong adunay talagsaon nga kantidad alang sa variable nga pananglitan niini.

Pananglitan,

Ang Machine A mahimong gipaandar sa Debian ug adunay 8GB nga RAM samtang ang Machine B mahimo nga nag-install sa Gentoo nga adunay 4GB nga RAM. Dayag usab nga ang pagdumala sa Machine nga nag-install sa Gentoo nanginahanglan dugang nga kahibalo - Usa ka pamatasan nga naglihok sa kahimtang niini. Dinhi ang pamaagi naggamit sa mga variable nga kantidad sa pananglitan.

Ang JVM kung mag-parse sa usa ka klase, naghimo kini nga butang nga ingon niana nga klase. Kung nagsulat ka usa ka klase, sa tinuud naglihok ka sama sa usa ka compiler nga nagsulti sa imong klase kung unsa ang kinahanglan mahibal-an sa butang ug kung giunsa kini molihok. Ang matag butang sa usa ka partikular nga tipo mahimong adunay lainlaing kantidad alang sa parehas nga variable nga pananglitan.

Ang matag Instance sa usa ka klase adunay parehas nga pamaagi apan posible nga silang tanan lahi ang pamatasan.

Ang klase sa OS adunay 3 nga mga variable nga Instance nga mao ang OS Name, OS Type, OS Category.

Ang Boot() nga pamaagi nag-boot sa usa ka OS nga girepresentahan sa OS Name alang niana nga higayon. Mao nga kung mag-boot ka() sa usa ka higayon mag-boot ka sa Debian samtang sa lain nga higayon mag-boot ka sa Gentoo. Ang code sa pamaagi, nagpabilin nga pareho sa bisan unsang kaso.

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

Nahibal-an na nimo nga ang programa magsugod sa pagpatuman pagkahuman sa main() nga pamaagi. Mahimo nimong ipasa ang mga kantidad sa imong pamaagi.

Pananglitan gusto nimong isulti kanimo ang OS kung unsang mga serbisyo ang magsugod sa boot ingon:

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

Ang imong gipasa sa mga pamaagi gitawag nga mga argumento. Mahimo nimong gamiton ang usa ka variable nga adunay usa ka tipo ug usa ka ngalan sa sulod sa usa ka pamaagi. Mahinungdanon ang pagpasa sa mga kantidad nga adunay parameter kung ang usa ka pamaagi magkuha usa ka parameter.

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

Dinhi ang reboot nga pamaagi sa OS nagpasa sa kantidad nga 600 (reboot machine pagkahuman sa 600 sec) isip argumento sa pamaagi. Hangtod karon nakita namon ang pamaagi nga kanunay nga nagbalik nga walay pulos, nga nagpasabut nga wala kini ibalik kanimo bisan unsa, sama sa:

void main()
	{
	…
	…
	}

Bisan pa, mahimo nimong hangyoon ang imong compiler nga makuha kung unsa ang imong gitinguha ug ang imong compiler dili ibalik kanimo ang sayup nga mga tipo. Mahimo nimong buhaton sama sa:

int Integer()
	{
	…
	…
	return 70;
	}

Mahimo nimong ipadala ang labaw sa usa ka bili sa usa ka pamaagi. Mahimo nimo kini pinaagi sa pagtawag sa duha ka pamaagi sa parameter ug ipadala kini sa mga argumento. Timan-i nga ang variable type ug parameter type kinahanglan kanunay nga magkatugma.

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

1. Sa diha nga kamo wala mahibalo sa bili sa pagsugod.

int a;
float b;
string c;

2. Sa diha nga ang kahibalo sa bili sa Initialize.

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

Mubo nga sulat: Ang usa ka pananglitan nga mga baryable kanunay nga gilibog sa mga lokal nga mga variable, bisan pa adunay usa ka nipis nga linya tali kanila aron magkalainlain.

3. Instance Variables gideklarar sulod sa klase dili sama sa local variables nga gideklara sulod sa method.

4. Dili sama sa Instance Variables, ang mga lokal nga variable kinahanglan nga magsugod sa dili pa kini magamit. Ang compiler magreport sa sayup kung mogamit ka sa lokal nga variable sa wala pa kini masugdan.

Encapsulation

Tingali nakadungog ka bahin sa encapsulation. Kini usa ka bahin sa kadaghanan sa object oriented programming language nga nagpaposible sa pagbugkos sa mga datos ug mga gimbuhaton sa usa ka bahin. Ang encapsulation gisuportahan sa klase ug giprotektahan ang mga code gikan sa aksidente nga kadaot pinaagi sa paghimo og kuta sa palibot sa mga butang ug gitago ang ilang mga kabtangan ug pamaagi, nga pilion.

Atong palapdan ang encapsulation sa mga detalye sa husto nga tutorial kung gikinahanglan. Sa pagkakaron igo na nga mahibal-an nimo Unsa ang encapsulation? Unsay gibuhat niini? Ug giunsa kini pagbuhat?

Kana lang sa pagkakaron. Padayon nga konektado alang sa sunod nga bahin niini nga Java Series \klase ug mga butang sa Java ug Himoa ang imong Unang butang sa Java samtang ako nagtrabaho niini. Kung gusto nimo ang serye ug post ipahibalo kanamo sa feedback.