Latest Article

6/recent/ticker-posts

NOOCYADA JAVA { LESSON 2}

        noocyada java

Java waxay kusoo baxdaa ugu yaraan afar nooc oo kala duwan oo loogu talagalay marxaladaha kala

duwan ee kumbuyuutarada iyo baahida. Tusaale ahaan moobilada iyo kumbuyuutarada inkastoo ay ka

simanyihiin waxyaalo badan, haddana waxay ku kala duwanyihiin meelo badan tusaale ahaan mugga

xasuusta iyo quwadda fulinta. Sidaas awgeed Java waxay leedahay soosaar loogu talagalay duruufaha

telefoonada moobilada iyo kumbuyuutarada gacanta lagu qaato.

Sidoo kale kumbuyuutarada dadka caadiga ay isticmaalaan iyo kuwa ay shirkadaha waaweyn adeegsadaan

waxa jirta waxyaalo ay ku kala duwanyihiin oo dhanka baahida la xidhiidha. Shirkadaha waaweyn inta

badan waxay adeegsadaan nidaam daadsan oo ka kooban kumbuyuutarro farabadan, kuwaas oo qaarkood

ay yihiin nooca server-ka. Sidaas awgeed waxa jirta daabacaad Java oo loogu talagalay shirkadaha gaar

ahaan. Laakiin ma jirto wax diidaaya in dadka caadiga ah ay isticmaalaan daabacaadda shirkadaha.

Dhammaan daabacaadahaas waxay ka simanyihiin waxyaalo badan 

Sawirka 1.1 waxad ka arkaysaa soosaarada ama daabacaadaha Java ee kala duwan iyo siday u kala

duwanyihiin. Sidaad sawirka ka arkayso Java EE iyo Java SE waa isku mid kaliya waxay ku kala

duwanyihiin in Java EE laga helaayo waxyaalo aan ka mid ahayn Java SE. Waxyaalaha ugu muhiimsan

ee ku jira Java EE ee aan ku jirin Java SE waa waxyaalaha looga baahanyahay nidaamyada daadsan iyo

dhanka Web-ka gaar ahaan samaynta Web Server-rada. Java EE waxad ka helaysaa qaybihii luuqadda

Java ka midka ahaa ee aad u adeegsan lahayd si aad kumbuyuutarkaaga uga dhigto Web Server laga soo

galikaro kumbuyuutarada kale. Sidaan soo sheegayba Java EE waxa loogu talagalay shirkadaha si ay

ugu dhisaan nidaamyadooda qaybta dhanka server-ka. Java SE waxa loogu talagalay kumbuyuutarrada

caadiga ah ee dadku isticmaalaan. Buuggan waxaynu ku adeegsanaynaa Java SE. Java ME waa qayb

 
kamid ah Java SE, laakiin waxa jira waxyaalo iyada u gaar ah oo aan kamid ahayn Java SE, sidaad

sawirka ka arkayso. Java ME waxa loogu talagalay kumbuyuutarrada gacanta iyo moobilada, oo inta

badan awooddoodu iyo xasuustoodu yartahay marka loo eego kumbuyuutarada caadiga ah. Waxyaalaha

kale ee inta badan u gaarka ah kumbuyuuttarada fudud iyo kuwa gacanta waa ku xidhnaantooda Internetka-

ka oo aan inta badan joogto ahayn. Java ME waxa loo isticmaali karaa meel kasta oo kumbuyuutar khafiif

ah looga baahanyahay. 

Ugu dambayntii Java SE waxa loo yaqaaney J2SE, Java EE J2EE, Java ME:n J2ME. Waxay shirkadda

Sun badashay magacyadii sanadkii 2006, oo ay nambarka 2 ka tuurtay magacyadii.

  

                                     1.2 Waa maxay Java Virtual Machine (JVM)

Sidaan hore u soo sheegayba JVM (jey-fii-am) waa borogaraam lagama maarmaan ah si loo kexeeyo ama

loo isticmaalo borogaraamyada lagu qoray luuqadda Java. Ujeedada ama hadafka JVM waxa weeye iney

kala dhexgasho borogaraamka lagu qoray Java iyo Operating System (OS)-ka. Waxa la rabaa in aan

laysku xidhin borogaraamka iyo OS-ka, sababtoo ah OS-ku wuu is badali karaa oo waxa laga yaabaa

in loo baahdo in borogaraamka lagu isticmaalo OS ka duwan kii hore ee lagu dhisay. JVM waxay

saamaxaysaa in borogaraamkii lagu qoray luuqadda Java lagu isticmaalo OS-yo kala duwan. Sidaan

hore u soo sheegayba arintani waxay ka midtahay waxyaalaha ay Java kaga duwantahay C iyo C++.

Qodobkani waa waxyaalaha ugu muhiimsan ee lagu kala sooco luuqadaha kumbuyuutarka. Lu-

uqadaha sida Java oo kale u baahan borogaraam dheeraad ah si loo kexeeyo waxa loo yaqaan interpreted.

Halka kuwa kale sida C iyo C++ loo yaqaano compiled language.

  

                                            1.3 Waa maxay OOP

Haddii aad dooneyso inaad barato luuqadda Java waa lagama maarmaan inaad isla markaa fahamto hab

dhismeedka OOP (ow-ow-be). Waad ku qasbantahay, sababtoo ah Java waxay ku saleysantahay OOP.

OOP waa hab borogaraamyada kumbuyuutarada loo dhiso iyada oo lagu dayanaayo habka waxyaalaha

kale ee physical-ka ah ama muuqaalka leh sida guryaha, baabuurta, iwm loo dhiso. Muhiimaduna waa in

borogaraamyada kumbuyuutarka dhismahooda la fududeeyo, maadaama ay adayg iyo weynaansho isku

darsadeen. OOP waa hab lagu wajahaayo waxa lagu magacaabo Software Crisis oo ah khalkhal ku yimid

dhisidda borogaraamyada kumbuyuutarada. Dhibaatadan ama khalkhalkan waxa keenay horumarka

dhakhsaha badan ee sanad walba ku yimaada qalabka hardware kumbuyuutarada. Sida xasuusta, iyo

quwadda fulinta (processing power ).

OOP wuxuu dadka u sahlayaa in ay dhisaan borogaraamyo dhismahoodu habeysanyahay, kuwaas oo

ay fududahay5

in wax laga badalo ama la fahmo dhismahooda. Borogaramyadii hore (ka hor OOP iyo

luuqadaha casriga ah sida Java) waxay ahaayeen qaar dhismahoodu isdhex daadsanyahay oo aan laheyn

wax structure ah. Waxey aad ugu dhawaayeen hardware-ka sida processor-ka kumbuyuutarka. Waxa

toos loo qori jirey nambarada ay processor-ku fahmeyso. Waxaaney ku caanbaxeen magaca spagetti

code, sababtoo ah macluumaadka (data) iyo koodhku (code) way isdhex daadsanaayeen. Kadib waxa

yimid data structures, oo waxa la kala qaadey data-dii iyo code-kii xukumaayey. Data-da isla xidhiidha

inta laysu uruuriyo ayaa magac loo bixinayaa, waxaana loo yaqaan data structure. Waxa ka dambeeyey

hidisiddii module-ka, oo saamaxdey in code-kana la qayb-qaybiyo oo wixii isla xidhiidha hal module lagu

uruuriyo. Waxaana horumarkan ugu dambeeyey Objects-ka oo ah casrigan imika socda. Waxaynu toos

ula jaanqaadeynaa casrigan imika socda.

1.4 Waa maxay Objects

Object af-soomaaliga waxa lagu macneyn karaa walax. Markaas objects waxay noqoneysaa walxo oo

wadar ah. Walxuhu waxay fure u yihiin luuqadda Java. Haddii aad hareerahaaga eegto, waxad arki

kartaa tusaalooyin badan oo ah walxaha aduunka (real-world objects), sida: gurigaaga, gaadhiigaaga,

baaskeelkaaga, bisaddaada, tv-gaaga iyo qaar kale oo badan. Waxlaha aduunku waxay badankood

leeyihiin laba arimood: Kulligood waxay leeyihiin xaalad (state) iyo hab ama ficil (behavior, method).

Tusaale ahaan bisadda xaaladaheeda waxa ka mid ah magaceeda (waa bisadda la dhaqdo), kalarkeeda,

jinsigeeda (race) iyo iney gaajeysantahay. Ficilkeedana waxa ka mid ah ci’yitaanka (barking), ugaadhsiga

iyo raaxeysiga. Sidoo kale baaskeelku wuxu leeyahay xaalad (kalarka, geerka ku jira, xawaaraha, iwm)

iyo hab (balad geerka, wareejinta cagaha, qabasho bireegga ama fariinka).

Walxaha aduunka inta badan waxa laga codsankaraa ficil, tusaale ahaan bisadda iney socoto, baas-

keelka in geerku is badalo, gaadhigu inuu istaago, iwm. Waxa kale oo la badali karaa xaladooda,                                             

1.5. WAA MAXAY CLASSES 9

tusaale ahaan gaadhiga oo istaagga laga dhaqaajiyo, bisadda oo cunto la siiyo, iwm. Waxaynu arki-

doonaa in sidoo kale walxaha borogaraamka laga codsankaro ficil ama la badali karo xaaladooda. Had-

aba, waa muhiim inaad fahamto ama garwaaqsato xaaladaha iyo hababka walxaha aduunka. Taasi waxay

kaa caawineysaa fikirka iyo dhisidda borogaraamyadaada kumbuyuutarka. Waxa jiri kara walxo badan

oo aan aduunka ka jirin, laakiin borogaraamka kumbuyuutarka ku jira oo ka muuqda, marka la eego

qoraalka borogaraamka oo loo yaqaano source code. :Security :Door Fariin

Sawirka 1.2: Dirista fariinta (Qaabkani waa sida inta badan loo sawiro walxaha. Xariijinta magaca

hoosta laga mariyey iyo labada dhibcood.)

Walxuhu way wada xidhiidhi karaan sida ka muuqata sawirka 1.2 oo waxay isu diri karaan fariimo

(message) kala duwan (walxaha aduunka xidhiidhkooda haddii aynu eegno, waa sida laba qof oo wada-

hadlaaya ama qof gaadhi kicinaaya ama laba bisadood oo islaynaysa). Sawirka waxad ka arkeysaa walax

qaabilsan ammaanka (Security) oo fariin u direysa walax qaabilsan albaabka (Door). Fariintaasi waxay

tusaale ahaan noqon kartaa ”xidh albaabka”. U dirista fariinta iyo codsashada ficilku waa isku arin.

Habkuu albaabka u xidhaayo isagey u taallaa.

Labada walxood ee sawir 1.2 midba shaqo gooni ah oo uu isagu yaqaano habka loo fulinaayo ayuu

qabanayaa. Mid wuxu qaabilsanyahay amaanka midna albaabka. Waxa loo yaqaan arintaas modularity.

Tusaale ahaan kasoo qaad in guri weyn oo albaabo badan leh nidaamkan lagu xidhay ama lagu rakibey.

Albaab walba waa in lagu xidho hal walax oo nooceedu yahay Door. Taas oo qaabilsan albaabkaas

xidhitaankiisa iyo furitaankiisa. Dirista fariintu waxay ka dhigantahay codsi ficil ama hab oo laga

codsanaayo walaxda loo diraayo.

Haddii wakhti dambe la rabo in albaabka si kale loo xidho, waxa la badelayaa walaxda qaabilsan

albaabka oo ah Door. Badalka, walaxda shaqada qabaneysa wakhtigii la rabo la badali karo waa arin

aad muhiim u ah oo kamid ah sifooyinka fikirka ku saleysan walxaha (OOP), waxaana loo yaqaan

polymorphism. Waxase shardi ah in aaney walaxda Security fahmin badalka walaxda albaabka. Taasi

waxay ku imaneysaa haddii, aaney waxba iska badalin habkii ay walaxda Security u isticmaali jirtay

walaxda Door.

Sidoo kale habka albaabka loo xidhaayo waxa taqaanna walaxda Door oo kaliya, walxaha kale (sida

Security) ma yaqaanaan (waayo iyagaa xidhi lahaa, haddii ay yaqaanaan). Marka la rabo in albaabka

la xidho waa in laga codsado walaxda Door. Sifadan waxa loo yaqaan encapsulation, waxaaney ka mid

tahay sifooyinka ugu muhiimsan ee fikirkan.

Waxa kale oo muhiim ah inaad fahamto in qoraalka walxahan ay dad kala duwani qori karaan, oo

isu diri karaan. Taasi waxay saamaxeysaa in dad kala duwan oo aan tusaale ahaan isku meel joogin

ay borogaraamka wada dhisaan. Waxase muhiim ah iney ku heshiiyaan protocol-ka labada walxood ku

wada hadlayaan oo loo yaqaano inta badan interface. Sidoo kale haddii mar hore la qoray walaxda, dib

ayaa loo isticmaali karaa mar dambe haddii loo baahdo, waxaana loo yaqaan code re-use arintaas.

Waxaynu halkan ku dulmarey ugu yaraan shan arimood oo muhiim ah oo kala ah: modularity,

polymorphism, encapsulation, interface iyo code re-use. Kalmadahani way soo laaban doonaan inta

buuggani socdo. Waxa kale oo aynu cadeynay ineynu ereyga walax u isticmaali doono ereyga ingiriisiga

ah ee object.


Post a Comment

1 Comments