Փաթեթի և ինտերֆեյսի միջև հիմնական տարբերությունը Java-ում այն է, որ Package-ն օգնում է դասակարգել դասերը՝ դրանք հեշտությամբ մուտք գործելու և պահպանելու համար, մինչդեռ Ինտերֆեյսը օգնում է իրականացնել բազմաթիվ ժառանգություններ և հասնել աբստրակցիա:
Java-ն ամենահայտնի ծրագրավորման լեզուներից մեկն է: Java-ի հիմնական առավելությունն այն է, որ այն աջակցում է Object Oriented Programming-ին: Այս մեթոդաբանությունը թույլ է տալիս մոդելավորել իրական աշխարհի օբյեկտները ծրագրային ապահովման մեջ: Դասը օբյեկտ ստեղծելու ծրագիր է: Յուրաքանչյուր օբյեկտ պարունակում է տվյալներ կամ դաշտեր՝ նկարագրելու ատրիբուտները կամ հատկությունները և վարքագիծը նկարագրելու մեթոդները: Այս հոդվածը քննարկում է Java-ում Java-ում OOP-ի հետ կապված երկու հասկացություն, որոնք են Փաթեթը և Ինտերֆեյսը:
Ի՞նչ է փաթեթը Java-ում:
Java-ն ապահովում է մեծ թվով դասեր: Բոլոր դասերը մեկ թղթապանակում պահելը կարող է դժվար լինել, քանի որ դժվար է մուտք գործել: Սա կարող է ազդել ծրագրի կառավարելիության վրա: Java-ն օգտագործում է փաթեթներ դասեր կազմակերպելու համար: Այն նման է թղթապանակին։ Java API-ն դասերը բաժանում է տարբեր փաթեթների՝ ըստ ֆունկցիոնալության: Հետևաբար, յուրաքանչյուր փաթեթ պարունակում է համապատասխան դասերի հավաքածու:
Փաթեթների օրինակ Java-ում
Մի քանի օրինակ փաթեթներ հետևյալն են. Java.io փաթեթը պարունակում է մուտքային, ելքային օժանդակ դասեր: Այն ներառում է File, PrintStream, BufferInputStream և այլն: java.net փաթեթը պարունակում է ցանցին առնչվող դասեր: Որոշ օրինակներ են՝ URL, Socket, ServerSocket: java.awt փաթեթը պարունակում է բոլոր դասերը, որոնք անհրաժեշտ են Օգտագործողի գրաֆիկական միջերեսներ ստեղծելու համար: Դրանք մի քանի Java API փաթեթներ են:
Երբ ծրագրավորողը ցանկանում է ծրագրում օգտագործել որոշակի դաս, նա պետք է ներմուծի այդ փաթեթը։ Եթե ծրագրավորողը ցանկանում է օգտագործել BufferInputStream դասը java.io փաթեթում, նա պետք է գրի ներմուծման հայտարարությունը հետևյալ կերպ։
ներմուծել java.util. BufferInoutStream;
Ստորև բերված հայտարարությունը կներմուծի util փաթեթի բոլոր դասերը:
ներմուծել java.util.;
Հնարավոր է նաև ստեղծել օգտվողի կողմից սահմանված փաթեթներ։
փաթեթի աշխատակից;
հանրային կարգի աշխատակից {
}
Համաձայն վերոհիշյալ օրինակի՝ աշխատողը փաթեթի անվանումն է։ Աշխատակիցների դասը աշխատողների փաթեթի մի մասն է: Այս ֆայլը պահվում է որպես Employee.java աշխատողների փաթեթում:
Ավելին, հնարավոր է հանրային դաս ներմուծել մի փաթեթից մյուսը: Տե՛ս հետևյալ օրինակը։
Նկար 01. Դաս A
Նկար 02. Դաս B
Ա դասը 1-ին փաթեթում է, և այն պարունակում է ցուցադրում կոչվող հանրային մեթոդը: B դասը 2-րդ փաթեթում է, և այն պարունակում է հիմնական մեթոդը: Չնայած դրանք առանձին փաթեթներում են; B դասը կարող է ստեղծել A դասի օբյեկտ՝ ներմուծելով փաթեթ1: 1-ին փաթեթը ներմուծելուց հետո B դասին հասանելի են A դասի տվյալները և մեթոդները:
Ընդհանուր առմամբ, Java-ի փաթեթն օգնում է կազմակերպել նախագծի ֆայլերը: Սա շատ օգտակար է մեծ համակարգ մշակելիս, քանի որ թույլ է տալիս մեթոդական կերպով պահել բոլոր ֆայլերը: Բացի այդ, Java API փաթեթները թույլ են տալիս ծրագրավորողներին օգտագործել արդեն գոյություն ունեցող դասերը:
Ի՞նչ է ինտերֆեյսը Java-ում:
Երբեմն ծրագրավորողը կարող է չգիտի մեթոդի սահմանումը: Այս իրավիճակներում ծրագրավորողը կարող է միայն հայտարարել մեթոդը: Վերացական մեթոդը այն մեթոդն է, որը չունի սահմանում: Այն ունի միայն հայտարարագիրը. Երբ կա առնվազն մեկ աբստրակտ մեթոդ, այդ դասը դառնում է վերացական դաս։ Ավելին, աբստրակտ դասը կարող է պարունակել ինչպես աբստրակտ, այնպես էլ ոչ վերացական մեթոդներ։ Ծրագրավորողը չի կարող օբյեկտներ ստեղծել վերացական դասերից:
Երբ դասը ընդլայնում է աբստրակտ դասը, նոր դասը պետք է սահմանի աբստրակտ դասի ողջ աբստրակտ մեթոդը: Այլ կերպ ասած, ենթադրենք, որ վերացական A դասը ունի վերացական մեթոդ, որը կոչվում է ցուցադրում: B դասը ընդլայնում է A դասը: Այնուհետև B դասը պետք է սահմանի մեթոդի ցուցադրումը:
Ինտերֆեյսի օրինակ Java-ում
Ենթադրենք, որ A-ն և B-ն էլ վերացական դասեր են: Եթե C դասը ընդլայնում է A և B, ապա C դասը պետք է սահմանի երկու դասերի վերացական մեթոդները:Սա բազմակի ժառանգություն է: Java-ն չի աջակցում բազմակի ժառանգությանը: Այն իրականացնելու համար ծրագրավորողը պետք է օգտագործի միջերեսներ: Եթե A-ն և B-ն միջերեսներ են, ապա C դասը կարող է դրանք իրականացնել: Տե՛ս հետևյալ օրինակը։
Նկար 03. միջերես A
Նկար 04. միջերես B
Ինտերֆեյսը A-ն ունի display1 վերացական մեթոդ, իսկ ինտերֆեյսը B-ն ունի display2 աբստրակտ մեթոդ:
Նկար 05. Դաս C
C դասը իրականացնում է և՛ A, և՛ B միջերեսներ: Հետևաբար, այն պետք է սահմանի երկու մեթոդները:
Նկար 06. Հիմնական մեթոդ
Այժմ հիմնական մեթոդում հնարավոր է ստեղծել C-ի օբյեկտ և կանչել երկու մեթոդները: Նմանապես, ինտերֆեյսները օգնում են Java-ում բազմակի ժառանգություն իրականացնել:
Բացի բազմակի ժառանգությունից, միջերեսներն օգնում են հասնել վերացականության: Դա OOP-ի հիմնական հասկացություններից մեկն է: Աբստրակցիան թույլ է տալիս թաքցնել իրականացման մանրամասները և օգտագործողին ցույց տալ միայն ֆունկցիոնալությունը։ Ավելին, այն թույլ է տալիս կենտրոնանալ այն բանի վրա, թե ինչ է անում օբյեկտը, այլ ոչ թե ինչպես է դա արվում: Քանի որ ինտերֆեյսը բաղկացած է վերացական մեթոդներից, այն օգնում է արխիվացնել աբստրակցիան:
Ո՞րն է տարբերությունը Java-ում փաթեթի և ինտերֆեյսի միջև:
Փաթեթը հարակից դասերի խումբ է, որն ապահովում է մուտքի պաշտպանություն և անվանատարածքի կառավարում:Ինտերֆեյսը դասի նման հղման տեսակ է, որը վերացական մեթոդների հավաքածու է: Փաթեթն օգնում է դասակարգել դասերը՝ դրանք հեշտությամբ մուտք գործելու և պահպանելու համար: Մյուս կողմից, Ինտերֆեյսը օգնում է իրականացնել բազմաթիվ ժառանգություններ և հասնել աբստրակցիա: Սա Java-ում փաթեթի և ինտերֆեյսի հիմնական տարբերությունն է: Ավելին, փաթեթ գրելու ձևը փոքրատառերով է, ինչպիսիք են java.util, java.awt: Եթե ինտերֆեյսի անունը Տարածք է, ապա այն գրված է՝ միջերեսի տարածք։
Ամփոփում – Փաթեթ ընդդեմ ինտերֆեյսի Java-ում
Փաթեթի և ինտերֆեյսի միջև տարբերությունը Java-ում այն է, որ Package-ն օգնում է դասակարգել դասերը՝ դրանք հեշտությամբ մուտք գործելու և պահպանելու համար, մինչդեռ Ինտերֆեյսը օգնում է իրականացնել բազմաթիվ ժառանգություններ և հասնել աբստրակցիա: