Класс менен интерфейстин айырмасы

Мазмуну:

Класс менен интерфейстин айырмасы
Класс менен интерфейстин айырмасы

Video: Класс менен интерфейстин айырмасы

Video: Класс менен интерфейстин айырмасы
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Ноябрь
Anonim

Негизги айырма – Класс менен Интерфейс

Объектке багытталган программалоо (OOP) программалык камсыздоону иштеп чыгуудагы кеңири таралган парадигма. Бул класстарды жана объекттерди колдонуу менен программалоого реалдуу сценарийлерди алып келүүгө жардам берет. Класс - бул объектти түзүүнүн планы. Программист касиеттери жана ыкмалары бар класс түзө алат. Окуучу жана мугалим объект болуп саналат. Объектти түзүү инстанция катары белгилүү. OOP ошондой эле интерфейстерди колдонот. Интерфейс жана класс окшош көрүнүшү мүмкүн, бирок алардын айырмасы бар. Бул макалада класс менен интерфейстин ортосундагы айырма талкууланат. Класс менен интерфейстин негизги айырмасы класс бул объектти түзүү үчүн схема болгон шилтеме түрү, ал эми интерфейс объектти түзүү үчүн колдонулбай турган шилтеме түрү.

Класс деген эмне?

OOPде баары объект катары каралат. Класссыз объектти түзүү мүмкүн эмес. Класс - бул объектти түзүүнүн планы. Үй курууда архитектор планын түзөт. План класска окшош. Үй объектиге окшош. Класс - бул объектти куруунун планы. Объект класстын жардамы менен түзүлгөн нерсе.

Класс касиеттерди жана ыкмаларды камтыйт. Студенттин аты, классы, индексинин номери сыяктуу касиеттери болушу мүмкүн. Окуучуда окуу, басуу, окуу сыяктуу ыкмалар болушу мүмкүн. Класс керектүү касиеттер жана ыкмалар менен түзүлдү.

Көптөгөн программалоо тилдеринде класс түзүү синтаксиси төмөнкүдөй. Ал класс ачкыч сөзү менен түзүлгөн.

класстын_аты {

// касиеттер

//методдор

}

C жана Java сыяктуу программалоо тилдери класстын жардамы менен объект түзүү үчүн окшош синтаксисти колдонушат. Класстын аталышы Студент деп ойлойлу.

Студент s1=жаңы Студент ();

Бул s1 объект. "Жаңы" ачкыч сөз касиеттерге эстутум бөлүү үчүн колдонулат. Класста ошондой эле касиеттерди же өзгөрмөлөрдү инициализациялоочу конструктор бар.

Класстын мүчөлөрү, мисалы, касиеттер жана ыкмалар кирүү өзгөртүүчүлөрүнө ээ. Кирүү спецификаторлору ошол мүчөлөрдүн башка класстарга жеткиликтүүлүгүн жана көрүнүмдүүлүгүн сүрөттөйт. Класстын мүчөлөрү коомдук, жеке жана корголгон сыяктуу кирүү спецификацияларына ээ боло алышат. Коомдук мүчөлөр башка класстар тарабынан жеткиликтүү. Жеке мүчөлөр класска гана жеткиликтүү. Корголгон мүчөлөр класста жана тиешелүү субкласстарда жеткиликтүү.

Интерфейс деген эмне?

Абстракция объектиге багытталган программалоонун түркүгү болуп саналат. Бул ишке ашыруунун чоо-жайын жашыруу жана колдонуучуга функцияларды көрсөтүү. Абстракция абстракттуу класстарды жана интерфейстерди колдонуу менен ишке ашат. Абстракттуу методдун ишке ашыруусу жок. Жок дегенде бир абстракттуу методду камтыган класс абстракттуу класс деп аталат.

Эки абстракттуу класс болгондо, ал класстарда жарыяланган ыкмалар ишке ашырылышы керек. Бул ыкмаларды ишке ашыруу үчүн жаңы класс колдонулат. Эгерде эки класстын тең методу бирдей болсо, анда ал бүдөмүк көйгөйдү жаратышы мүмкүн. Ошондуктан, Java жана C сыяктуу программалоо тилдеринин интерфейси бар.

Интерфейстер методдордун декларациясын гана камтыйт. Ишке ашыруунун эч кандай ыкмасы жок. Ошондой эле, интерфейстерди объекттерди түзүү үчүн колдонууга болбойт. Алар бир нече мурастарды колдоо жана кодду коргоо үчүн колдонулат.

Интерфейстин синтаксиси төмөнкүдөй. Интерфейс "interface" ачкыч сөзүн колдонот.

интерфейс интерфейсинин_аты{

түр ыкмасы1(параметрлер_тизмеси);

түр ыкмасы2(параметрлер_тизмеси);

}

Жогорудагыга ылайык, интерфейстерде декларация гана бар. Эч кандай аныктама жок. Демек, интерфейстер объекттерди жарата албайт. Бул интерфейстин абстрактуу көрүнүшүн гана берет. Интерфейсте жарыяланган методдор бир же бир нече класстар тарабынан ишке ашырылышы мүмкүн. Класс интерфейсти ишке ашыруу үчүн "ишке ашыруу" ачкыч сөзүн колдонот. Java аркылуу жазылган төмөнкү мисалды караңыз.

Класс менен интерфейстин айырмасы
Класс менен интерфейстин айырмасы
Класс менен интерфейстин айырмасы
Класс менен интерфейстин айырмасы

01-сүрөт: Интерфейстерди колдонгон программа

Жогорудагы программага ылайык, A жана B интерфейстер. Интерфейс Ада sum() болгон метод декларациясы бар. В интерфейсинде sub() метод декларациясы бар. C классы А жана В болгон эки интерфейсти тең ишке ашырат. Демек, С классы sum() жана sub() методдорун тең аныктайт. С тибиндеги объект түзүлгөндөн кийин, sum() жана sub() методдорун тең чакырса болот.

Интерфейс ичинде жарыяланган методдор ар дайым ачык болушу керек, анткени аларды ишке ашыруучу класстар аныктайт. Интерфейс башка интерфейстен да мурасталышы мүмкүн.

Класс менен интерфейстин кандай окшоштуктары бар?

  • Экөө тең шилтеме түрлөрү.
  • Экөө тең Объектке багытталган программалоого тиешелүү.

Класс менен интерфейстин ортосунда кандай айырма бар?

Класс жана интерфейс

Класс – объектти түзүү үчүн схема болгон маалымдама түрү. Интерфейс – бул шилтеме түрү, аны ишке киргизүү мүмкүн эмес.
Объекттин инстанциясы
Класс объектти түзүү үчүн колдонулат. Интерфейсти түзүү мүмкүн эмес, анткени методдор эч кандай аракетти аткара албайт.
Конструктор
Класс өзгөрмөлөрдү инициализациялоо үчүн конструкторду камтыйт. Интерфейс конструкторду камтыбайт, анткени алар инициализациялоо үчүн эч кандай өзгөрмө эмес.
Ачкычтуу сүйлөм
Класс "класс" ачкыч сөзүн колдонот. Интерфейс "interface" ачкыч сөзүн колдонот.
Кирүү спецификациясы
Кластын мүчөлөрү купуя, ачык жана корголушу мүмкүн. Интерфейс мүчөлөрү ар дайым ачык болушу керек, анткени аларды ишке ашыруучу класстар аныктайт.

Корытынды – Класс жана Интерфейс

Класстар жана интерфейстер Объектке багытталган программалоодо кеңири колдонулат. Класс менен интерфейстин айырмасы класс бул объектти түзүү үчүн схема болгон шилтеме түрү жана интерфейс объектти түзүү үчүн колдонулбай турган шилтеме түрү. Класс көптөгөн интерфейстерди ишке ашыра алат. Бирок ал бир гана суперклассты узарта алат. Интерфейсте көптөгөн интерфейстерди мурастай алат, бирок ишке ашыруу мүмкүн эмес. Экөөнүн тең өз мааниси бар. Программист аларды иштеп жаткан программага ылайык колдоно алат.

PDF классын жана интерфейсин жүктөп алыңыз

Сиз бул макаланын PDF версиясын жүктөп алып, шилтеме эскертүүсүнө ылайык оффлайн максаттарында колдоно аласыз. Сураныч, PDF версиясын бул жерден жүктөп алыңыз Класс менен интерфейстин айырмасы

Сунушталууда: