Javaдагы Пакет менен Интерфейстин негизги айырмасы Пакет класстарды методикалык түрдө классификациялоого, аларга оңой жетүү жана тейлөө үчүн жардам берет, ал эми Interface бир нече мурасты ишке ашырууга жана абстракцияга жетишүүгө жардам берет.
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 катары сакталат.
Мындан тышкары, коомдук классты бир пакеттен экинчи пакетке импорттоого болот. Төмөнкү мисалды караңыз.
01-сүрөт: A классы
02-сүрөт: B классы
А классы 1-пакетте, ал дисплей деп аталган жалпыга ачык ыкманы камтыйт. В классы 2-пакетте, ал негизги ыкманы камтыйт. Алар өзүнчө пакеттерде болсо да; B классы пакет1 импорттоо менен А классынын объектисин түзө алат. 1-топтомду импорттоодон кийин В классы А классынын маалыматтарына жана ыкмаларына кире алат.
Жалпысынан Java пакети долбоордун файлдарын уюштурууга жардам берет. Бул чоң системаны иштеп чыгууда абдан пайдалуу, анткени ал бардык файлдарды методикалык түрдө сактоого мүмкүндүк берет. Мындан тышкары, Java API пакеттери программисттерге мурунтан эле бар класстарды колдонууга мүмкүндүк берет.
Javaдагы интерфейс деген эмне?
Кээде программист ыкманын аныктамасын билбеши мүмкүн. Мындай учурларда, программист ыкманы гана жарыялай алат. Абстракттуу метод – аныктамасы жок ыкма. Анын декларациясы гана бар. Жок дегенде бир абстракттуу метод болгондо, ал класс абстракттуу класска айланат. Мындан тышкары, абстракттуу класс абстракттуу ыкмаларды да, абстракттуу эмес ыкмаларды да камтышы мүмкүн. Программист абстрактуу класстардан объекттерди түзө албайт.
Класс абстракттуу классты кеңейткенде, жаңы класс абстракттуу класстын бардык абстракттуу ыкмасын аныкташы керек. Башка сөз менен айтканда, абстрактуу класс А дисплей деп аталган абстрактуу ыкмасы бар деп ойлойбуз. B классы А классын кеңейтет. Андан кийин В классы ыкма дисплейсин аныкташы керек.
Javaдагы интерфейстин мисалы
А да, В да абстракттуу класстар деп ойлойлу. Эгерде С классы А жана В чөйрөсүн кеңейтсе, анда С классы эки класстын тең абстракттуу ыкмаларын аныкташы керек. Бул көп тукум куучулук. Java бир нече мурасты колдобойт. Аны ишке ашыруу үчүн программист интерфейстерди колдонушу керек. Эгерде А жана В интерфейстер болсо, анда С классы аларды ишке ашыра алат. Төмөнкү мисалды караңыз.
03-сүрөт: Интерфейс A
04-сүрөт: Интерфейс B
А интерфейсинде дисплей1 абстракттуу ыкмасы, ал эми В интерфейсинде дисплей2 абстракттуу ыкмасы бар.
05-сүрөт: C классы
C классы А жана В интерфейстерин ишке ашырат. Ошондуктан, ал эки ыкманы тең аныкташы керек.
06-сүрөт: Негизги ыкма
Азыр негизги ыкмада C объектисин түзүп, эки ыкманы тең чакырса болот. Ошо сыяктуу эле, интерфейстер Java'да бир нече мурасты ишке ашырууга жардам берет.
Бир нече мурастан башка интерфейстер абстракцияга жетүүгө жардам берет. Бул OOP бир негизги түшүнүк болуп саналат. Абстракция ишке ашыруунун деталдарын жашырууга жана колдонуучуга функцияны гана көрсөтүүгө мүмкүндүк берет. Андан тышкары, ал объекттин кантип жасалганына эмес, эмне кылганына көңүл бурууга мүмкүндүк берет. Интерфейс абстракттуу ыкмалардан тургандыктан, абстракцияны архивдештирүүгө жардам берет.
Javaдагы пакет менен интерфейстин ортосунда кандай айырма бар?
Пакет – бул кирүү мүмкүнчүлүгүн коргоону жана аттар мейкиндигин башкарууну камсыз кылган тиешелүү класстардын тобу. Интерфейс абстракттуу ыкмалардын жыйындысы болгон класска окшош шилтеме түрү. Пакет класстарды методикалык түрдө классификациялоого жана аларга оңой жетүү жана колдоо көрсөтүүгө жардам берет. Башка жагынан алганда, Interface бир нече мурастарды ишке ашырууга жана абстракцияга жетишүүгө жардам берет. Бул Javaдагы пакет менен интерфейстин негизги айырмасы. Андан тышкары, пакетти жазуу жолу java.util, java.awt сыяктуу кичине тамгалар менен жазылат. Эгерде интерфейстин аты Аймак болсо, анда ал интерфейстин аймагында жазылат.
Корытынды – Пакет жана Java интерфейси
Javaдагы пакет менен интерфейстин айырмасы Пакет класстарды методикалык түрдө категорияларга бөлүштүрүүгө жардам берет, ал эми Interface бир нече мурастарды ишке ашырууга жана абстракцияга жетишүүгө жардам берет.