Դաս 27։ Java – Packages

0

Java-ում փաթեթները օգտագործվում են, որպեսզի կանխվեն անունների հետ տեղի ունեցող կոնֆլիկտները և վերահսկվեն մուտքերը, ինչպես նաև ավելի հեշտ դառնան որոնումները (searching/locating), դասերի կիրառումը, ինտերֆեյսները, վերահաշվարկները, անոտացիաները և այլն։

Փաթեթը կարող է սահմանվել որպես առնչվող տիպերի խմբավորում (դասեր, ինտերֆեյսներ, անոտացիաներ և թվարկումներ), որոնք ապահովման են անվտանգություն և վերահսկողություն։

Ահա, Java-ում գոյություն ունեցող փաթեթներից մի քանիսը `

  • lang – միավորում է ֆունդամենտալ դասերը
  • io – մուտքային, ելքային գործառույթների դասեր միավորված են այս փաթեթում

Ծրագրավորղները կարող են կազմել իրենց փաթեթները՝ դասերի/ինտերֆեյսների խմբերը փաթեթավորելու համար։ Լավ տարբերակ է խմբավորել իրաի հետ առնչվող դասերը, այնպես որ ծրագրավորողը կարողանա հեշտությամբ որոշել, արդյոք դասերը, ինտերֆեյսները, թվարկումները և անոտացիաները կապված են իրար հետ, թե ոչ։

Քանի որ փաթեթը ստեղծում է նոր անուններ, անունների հետ կապված ցանկացած կոնֆլիկտ բացառվում է: Փաթեթների կիառումը ավելի դյուրին է դարձնում վերահսկողության հարցը, ինչպես նաև հեշտացնում է կապակցված դասերը գտնելու գործընացը:

 

Փաթեթների ստեղծում/ Creating a Package

Փաթեթը ստեղծելու ընթացքում, դուք պետք է ընտրեք փաթեթի անունը և փաթեթի հայտարարությունը անունի հետ միասին ներառեք source file-ում, որը պարունակում է դասեր, ինտերֆեյսներ, թվարկումները և անոտացիայի տեսակներ, որոնք ցանկանում եք ներառել փաթեթում:

Փաթեթի հայտարարությունը/ package statement-ը պետք է լինի առաջին տողում source file-ի։ Յուրաքանչյուր source file-ում կարող է լինել միայն մեկ package statement և այն կիարռվում է ֆայլի բոլոր տեսակիների համար։

Եթե package statement չի օգտագործվում, ապա դասը, ինտերֆեյսը, թվարկումները և անոտացիայի տեսակները կտեղադրվեն ընթացիկ՝ նախապես կանխադրված փաթեթում:

Java ծրագիրը package statements-ով կազմելու համար դուք պետք է օգտագործեք -d տարբերակը, ինչպես ներկայացված է ստորև:

javac -d Destination_folder file_name.java

 

Այնուհետև սահմանված վայրում ստեղծվում է տվյալ փաթեթի անունով folder և կազմված դասի ֆայլերը կտեղադրվեն այդ folder-ում։

 

Օրինակ

Եկեք ուսումնասիրենք մի օրինակ, որտեղ ստեղծում է animals անունով փաթեթ: խորհուրդ է տրվում փաթեթների անունները գրել փոքրատառերով՝ դասերի և ինտերֆեյսների անունների հետ կապված ցանկացած կոնֆլիկտներից խուսափելու համար:

Հետևյալ փաթեթը օրինակը պարունակում է ինտերֆեյս animals անունով –

/* File name : Animal.java */

package animals; 

interface Animal { 

  public void eat();  

public void travel();

}

 

Այժմ եկեք, գործարկենք վերը նշված ինտերֆեյսը նույն animals – փաթեթում։

package animals;

/* File name : MammalInt.java */

 public class MammalInt implements Animal {   

public void eat() {   

   System.out.println(“Mammal eats”);  

}   

public void travel() {   

   System.out.println(“Mammal travels”);  

}   

  public int noOfLegs() {     

return 0;  

}   

public static void main(String args[]) {    

  MammalInt m = new MammalInt();     

m.eat(); 

     m.travel(); 

  }

}

Այժմ, հավաքեք java ֆայլերը, ինչպես ցույց է տրված ստորև –

$ javac -d . Animal.java

$ javac -d . MammalInt.java

 

Այժմ ստեղծվում է package/folder animals անունով գոյություն ունեցող դիրեկտորիայում և այս դասի ֆայլերը կտեղադրվեն այստեղ, ինչպես ցույց է տրված ստորև:

packages

Դուք կարող եք իրականացնել դասի ֆայլը փաթեթի մեջ և ստանալ արդյունք, ինչպես ցույց է տրված ստորև:

Mammal eats

Mammal travels

 

import Keyword/բանալի բառ

Եթե դասը ցանկանում է նույն փաթեթում օգտագործել մեկ այլ դաս, ապա փաթեթի անունը չպետք է օգտագործվի: Նույն փաթեթի դասերը գտնում են միմյանց առանց հատուկ syntax-ի:

 

Օրինակ

Այստեղ, Boss անունով դասը ավելացվում է payroll փաթեթում, որն արդեն ներառում է Employee: Boss-ը կարող է դիմել Employee class-ին, առանց payroll prefix-ի օգտագործման, ինչպես ցույց է տրված հետևյալ օրինակում՝

package payroll;

public class Boss {  

public void payEmployee(Employee e) {     

e.mailCheck();  

}

}

 

Ի՞նչ է տեղի ունենում, եթե Employee class-ը payroll-ի փաթեթում չէ: Boss դասը պետք է օգտագործի հետևալ մեթոդներից մեկը այլ փաթեթի դասին դիմելու կամ հղելու համար։

 

  • Կարող է օգտագործվել դասի լիարժեք անունը: Օրինակ `

payroll.Employee

  • Փաթեթը կարող է ներմուծվել import բանալի բառի և wild card (*)-ի օգտագործմամբ։ Օրինակ `

import payroll.*;

 

  • Դասը ինքնին կարող է ներմուծվել import բանալի բառի օգտագործմամբ: Օրինակ `

import payroll.Employee;

 

Նշում․ Դասի ֆայլը կարող է պարունակել import statement-ների ցանկացած քանակ: import statement-ները պետք է հայտնվեն package statement-ից հետո և class declaration-ից առաջ:

Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.