Java тіліндегі пакет пен интерфейс арасындағы айырмашылық

Мазмұны:

Java тіліндегі пакет пен интерфейс арасындағы айырмашылық
Java тіліндегі пакет пен интерфейс арасындағы айырмашылық

Бейне: Java тіліндегі пакет пен интерфейс арасындағы айырмашылық

Бейне: Java тіліндегі пакет пен интерфейс арасындағы айырмашылық
Бейне: Көктемгі AOP шынымен қалай жұмыс істейді [Көктемгі AOP саяхаты - 2 бөлім] 2024, Қараша
Anonim

Java-дағы бума мен интерфейстің басты айырмашылығы мынада: Пакет сыныптарды оңай қол жеткізу және қолдау үшін әдістемелік санаттарға бөлуге көмектеседі, ал Интерфейс бірнеше мұраны жүзеге асыруға және абстракцияға қол жеткізуге көмектеседі.

Java – ең танымал бағдарламалау тілдерінің бірі. Java тілінің басты артықшылығы – ол объектіге бағытталған бағдарламалауды қолдайды. Бұл әдістеме бағдарламалық жасақтамада нақты дүние объектілерін модельдеуге мүмкіндік береді. Класс - объект құруға арналған сызба. Әрбір нысанда атрибуттарды сипаттайтын деректер немесе өрістер немесе мінез-құлықты сипаттайтын сипаттар мен әдістер бар. Бұл мақалада Java тіліндегі Java тіліндегі OOP-қа қатысты екі тұжырымдама қарастырылады, олар пакет және интерфейс.

Java-дағы пакет дегеніміз не?

Java көптеген сыныптарды қамтамасыз етеді. Барлық сыныптарды бір қалтада сақтау қиын болуы мүмкін, себебі оған қол жеткізу қиын. Бұл бағдарламаның басқару мүмкіндігіне әсер етуі мүмкін. Java сыныптарды ұйымдастыру үшін пакеттерді пайдаланады. Ол қалтаға ұқсайды. Java API функционалдық мүмкіндіктеріне қарай сыныптарды әртүрлі пакеттерге топтастырады. Сондықтан әрбір бумада қатысты сыныптар жинағы бар.

Java тіліндегі бумалардың мысалы

Бірнеше үлгі пакеттері төмендегідей. java.io бумасы кіріс, шығыс қолдау сыныптарын қамтиды. Оған File, PrintStream, BufferInputStream және т.б. кіреді. java.net бумасы желіге қатысты сыныптарды қамтиды. Кейбір мысалдар URL, Socket, ServerSocket болып табылады. java.awt бумасы пайдаланушының графикалық интерфейстерін құруға қажетті барлық сыныптарды қамтиды. Бұл бірнеше Java API пакеттері.

Бағдарламашы бағдарламада белгілі бір сыныпты пайдаланғысы келгенде, ол пакетті импорттауы керек. Егер бағдарламашы java.io бумасында BufferInputStream класын пайдаланғысы келсе, ол импорт мәлімдемесін келесідей жазуы керек.

import java.util. BufferInoutStream;

Төменгі мәлімдеме утил бумасындағы барлық сыныптарды импорттайды.

import java.util.;

Сонымен қатар пайдаланушы анықтайтын бумаларды жасауға болады.

пакет қызметкері;

қоғамдық сынып қызметкері {

}

Жоғарыда келтірілген мысалға сәйкес, қызметкер пакет атауы болып табылады. Қызметкерлер класы қызметкерлер пакетінің бөлігі болып табылады. Бұл файл қызметкер пакетіне Employee.java ретінде сақталады.

Сонымен қатар, жалпы сыныпты бір пакеттен екіншісіне импорттауға болады. Келесі мысалды қараңыз.

Java-дағы пакет пен интерфейс арасындағы айырмашылық
Java-дағы пакет пен интерфейс арасындағы айырмашылық
Java-дағы пакет пен интерфейс арасындағы айырмашылық
Java-дағы пакет пен интерфейс арасындағы айырмашылық

01-сурет: A сыныбы

Java-дағы пакет пен интерфейс арасындағы айырмашылық_2-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_2-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_2-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_2-сурет

02-сурет: B сыныбы

А класы 1-бумада және ол дисплей деп аталатын жалпыға ортақ әдісті қамтиды. В класы 2-бумада және ол негізгі әдісті қамтиды. Олар бөлек пакеттерде болса да; B класы пакет1 импорттау арқылы А класының нысанын жасай алады. 1-буманы импорттағаннан кейін B класы А класының деректері мен әдістеріне қол жеткізе алады.

Жалпы, Java пакеті жоба файлдарын ұйымдастыруға көмектеседі. Бұл үлкен жүйені жасау кезінде өте пайдалы, себебі ол барлық файлдарды әдістемелік түрде сақтауға мүмкіндік береді. Бұған қоса, Java API пакеттері бағдарламашыларға бұрыннан бар сыныптарды пайдалануға мүмкіндік береді.

Java тіліндегі интерфейс дегеніміз не?

Кейде бағдарламашы әдіс анықтамасын білмеуі мүмкін. Бұл жағдайда бағдарламашы тек әдісті жариялай алады. Абстрактілі әдіс – анықтамасы жоқ әдіс. Онда тек декларация бар. Кем дегенде бір дерексіз әдіс болған кезде, бұл класс абстрактілі сыныпқа айналады. Сонымен қатар, абстрактілі класс абстрактілі әдістермен қатар дерексіз әдістерді қамтуы мүмкін. Бағдарламашы абстрактілі сыныптардан нысандар жасай алмайды.

Сынып абстрактілі сыныпты кеңейткенде, жаңа сынып абстрактілі сыныптағы барлық дерексіз әдісті анықтауы керек. Басқаша айтқанда, абстрактілі А класында дисплей деп аталатын дерексіз әдіс бар деп есептейік. B сыныбы А класын кеңейтеді. Содан кейін В сыныбы әдіс дисплейін анықтауы керек.

Java тіліндегі интерфейс мысалы

А және В екеуі де дерексіз сыныптар деп есептейік. Егер С класы А және В кеңеюінде болса, бұл С класы екі сыныптың да дерексіз әдістерін анықтауы керек. Бұл көп мұра. Java бірнеше мұраға қолдау көрсетпейді. Оны жүзеге асыру үшін бағдарламашы интерфейстерді қолдануы керек. Егер А және В интерфейстер болса, онда С класы оларды жүзеге асыра алады. Келесі мысалды қараңыз.

Java-дағы пакет пен интерфейс арасындағы айырмашылық_3-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_3-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_3-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_3-сурет

03-сурет: интерфейс A

Java-дағы пакет пен интерфейс арасындағы айырмашылық_4-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_4-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_4-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_4-сурет

04-сурет: B интерфейсі

А интерфейсінде дисплей1 дерексіз әдісі, ал В интерфейсінде дисплей2 дерексіз әдісі бар.

Java-дағы пакет пен интерфейс арасындағы айырмашылық_5-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_5-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_5-сурет
Java-дағы пакет пен интерфейс арасындағы айырмашылық_5-сурет

05-сурет: C класы

C класы A және B интерфейстерін жүзеге асырады. Сондықтан ол екі әдісті де анықтауы керек.

Java-дағы пакет пен интерфейс арасындағы негізгі айырмашылық
Java-дағы пакет пен интерфейс арасындағы негізгі айырмашылық
Java-дағы пакет пен интерфейс арасындағы негізгі айырмашылық
Java-дағы пакет пен интерфейс арасындағы негізгі айырмашылық

06-сурет: Негізгі әдіс

Енді негізгі әдісте C нысанын жасауға және екі әдісті де шақыруға болады. Сол сияқты, интерфейстер Java тілінде бірнеше мұраны жүзеге асыруға көмектеседі.

Көп мұралаудан басқа интерфейстер абстракцияға қол жеткізуге көмектеседі. Бұл OOP-тағы негізгі тұжырымдамалардың бірі. Абстракция іске асыру мәліметтерін жасыруға және пайдаланушыға тек функционалдылықты көрсетуге мүмкіндік береді. Сонымен қатар, ол нысанның қалай жасалғанына емес, не істейтініне назар аударуға мүмкіндік береді. Интерфейс дерексіз әдістерден тұратындықтан, абстракцияны мұрағаттауға көмектеседі.

Java тіліндегі пакет пен интерфейстің айырмашылығы неде?

Package – қатынасты қорғауды және аттар кеңістігін басқаруды қамтамасыз ететін қатысты сыныптар тобы. Интерфейс - бұл абстрактілі әдістер жиынтығы болып табылатын классқа ұқсас сілтеме түрі. Пакет сыныптарға оңай қол жеткізу және қолдау үшін оларды әдістемелік түрде жіктеуге көмектеседі. Екінші жағынан, Интерфейс бірнеше мұраны жүзеге асыруға және абстракцияға қол жеткізуге көмектеседі. Бұл Java-дағы пакет пен интерфейстің негізгі айырмашылығы. Әрі қарай, пакетті жазу тәсілі java.util, java.awt сияқты кіші әріптермен жазылады. Интерфейс атауы аймақ болса, ол интерфейс аймағында жазылады.

Java тіліндегі кестелік түрдегі пакет пен интерфейс арасындағы айырмашылық
Java тіліндегі кестелік түрдегі пакет пен интерфейс арасындағы айырмашылық
Java тіліндегі кестелік түрдегі пакет пен интерфейс арасындағы айырмашылық
Java тіліндегі кестелік түрдегі пакет пен интерфейс арасындағы айырмашылық

Қорытынды – Java тіліндегі пакет пен интерфейс

Java тіліндегі бума мен интерфейстің айырмашылығы мынада: Пакет сыныптарды оңай қол жеткізу және қолдау үшін әдістемелік санаттарға бөлуге көмектеседі, ал Интерфейс бірнеше мұраны жүзеге асыруға және абстракцияға қол жеткізуге көмектеседі.

Ұсынылған: