Мурас жана Java интерфейсинин ортосундагы айырма

Мазмуну:

Мурас жана Java интерфейсинин ортосундагы айырма
Мурас жана Java интерфейсинин ортосундагы айырма

Video: Мурас жана Java интерфейсинин ортосундагы айырма

Video: Мурас жана Java интерфейсинин ортосундагы айырма
Video: JAX 02.14 - Sebelep (Премьера клипа) 2024, Ноябрь
Anonim

Негизги айырма – Мурас жана Java интерфейси

Java - Sun Microsystems тарабынан иштелип чыккан программалоо тили. Java ар кандай тиркемелерди иштеп чыгуу үчүн колдонулушу мүмкүн. Бул объектке багытталган, структураланган ж.б. колдогон көп парадигмалуу тил. Javaнын негизги артыкчылыгы - объектке багытталган программалоону (OOP) колдогондугунда. Программист класстарды жана объекттерди түзө алат. OOP төрт мамы бар. Алар тукум куучулук, полиморфизм, абстракция жана инкапсуляция. Мурас жана интерфейстер OOP менен байланышкан. Мурас жана интерфейстин ортосундагы негизги айырма, мурас бул учурдагы класстардан жаңы класстарды алуу жана интерфейс абстракттуу класстарды жана бир нече мурасты ишке ашыруу болуп саналат.

Java'да Мурас деген эмне?

Мурас, кодду кайра колдонууга жетише алат. Мурастоо бар класстын атрибуттарын жана ыкмаларын кайра колдонууга жардам берет. Эски классты колдонуу менен жаңы классты алуу механизми мурас деп аталат. Эски класс ата-эне класс же супер класс деп аталат. Туунду класс бала класс же субкласс деп аталат.

Java мурасынын синтаксиси төмөнкүдөй.

класстын субкласс_аты суперкласс_атын кеңейтет {

өзгөрмө декларациясы;

ыкма декларациясы;

}

Мурас түшүнүгүн төмөнкү мисал менен түшүндүрсө болот. Төмөнкүдөй А деп аталган класс бар деп ойлойлу.

коомдук класс A{

коомдук жараксыз сумма(){

System.out.println("Коомдук");

}

}

Эгер биз учурдагы классты өзгөртпөстөн жаңы ыкманы кошкубуз келсе, аны төмөнкүдөй кылсак болот.

коомдук класс B{

коомдук жараксыз суб(){

System.out.println("Sub");

}

}

Программист А классынын суммасын колдонуу үчүн мурасты колдоно алат.

коомдук B классы А классын кеңейтет{

коомдук жараксыз суб(){

System.out.println("Sub");

}

}

Негизги функцияда В объектин түзүүгө жана мурастын жардамы менен В классына тиешелүү sub() жана А классына таандык sum() чакырылышы мүмкүн.

жалпыга ачык статикалык жараксыз негизги(String args){

B obj=new B();

obj.sub();

obj.sum();

}

Мурастын ар кандай түрлөрү бар. Алар бир тукум куучулук, көп тукум куучулук, көп баскычтуу мурас жана иерархиялык тукум куучулук. Жалгыз мураста бир базалык класс жана бир туунду класс бар. Көп деңгээлдүү мураста үч класс бар, атап айтканда, базалык класс, орто класс жана туунду класс. Аралык класс базалык класстан, ал эми алынган класс орто класстан мурастайт. Иерархиялык мураста бир базалык класс жана көптөгөн туунду класстар бар. Гибриддик мурас деп аталган өзгөчө түрү бар. Бул мурастын эки же андан көп түрлөрүнүн айкалышы.

Мурас жана Java интерфейсинин ортосундагы айырма
Мурас жана Java интерфейсинин ортосундагы айырма

01-сүрөт: Мурас

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

Javaдагы интерфейс деген эмне?

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

абстракт класс A{

абстракттуу жараксыз сумма();

}

А жана В сыяктуу эки абстрактуу класс бар деп ойлойлу. А жана В абстрактуу ыкмаларын ишке ашыруу үчүн жаңы С классы түзүлөт. Андан кийин C классы А жана В экөөнү тең кеңейтиши керек, бирок Java'да бир нече мурас колдоого алынбайт. Ошондуктан, интерфейстерди колдонуу керек. Методдорду жарыялоо үчүн интерфейстерди колдонсо болот, бирок методдорду аныктоо мүмкүн эмес. Интерфейстерди колдонуу менен объект түзүү мүмкүн эмес. C классы А жана В интерфейсиндеги бардык ыкмаларды ишке ашырышы керек.

интерфейс A{

жараксыз сумма();

}

интерфейс B{

void sub();

}

C классындагы шаймандар A, B{

коомдук жараксыз сумма(){

System.out.println("Жыйынтыктоо");

}

коомдук жараксыз суб(){

System.out.println("Кемирүү");

}

}

Эми, негизги программада C объектисин түзүп, эки ыкманы тең чакырса болот.

жалпыга ачык статикалык жараксыз негизги (Сап аргтар) {

C obj=new C();

obj.sum();

obj.sub();

}

Ошентип, интерфейстер бир нече мурасты ишке ашыруу үчүн колдоно алат.

Интерфейстердин дагы бир колдонулушу – бул коопсуздукту камсыз кылуу. Төмөнкү кодду караңыз.

интерфейс A {

жараксыз сумма ();

}

класс B A түзмөктөрү {

коомдук жараксыз сумма () {

System.out.println("Жыйынтыктоо");

}

коомдук жараксыздык көбөйтүү () {

System.out.println("Көбөйтүү");

}

}

В объектин түзүүдө эки ыкманы тең сумма () жана көбөйтүү () деп атаса болот. Эгерде программист multiply () функциясын колдонууну чектөөнү кааласа, бул төмөнкүдөй болушу мүмкүн.

жалпыга ачык статикалык жараксыз негизги(String args){

A obj=new B();

obj.sum();

}

A obj=new B(); объект түзөт. Ал А тибинде жана эстутум В катары бөлүнгөн. sum() чакырса болот, бирок multiply() функциясын аткара албайт. Бул чектөө интерфейстер аркылуу жасалат.

Мурас жана Java интерфейсинин кандай окшоштуктары бар?

  • Эки түшүнүк тең Объектке багытталган программалоого байланыштуу
  • Экөө тең IS-A мамилесин билдирет.

Мурас жана Java интерфейсинин ортосунда кандай айырма бар?

Мурас жана Java интерфейси

Мурас - бул учурдагы класстардан жаңы класстарды алуу үчүн OOP концепциясы. Интерфейс – бул абстракцияны жана көп мурасты ишке ашыруу үчүн OOP механизми.
Колдонуу
Мурастоо кодду кайра колдонууга мүмкүнчүлүк берет. Интерфейстер абстракцияны жана көп мурасты камсыз кылат.

Корытынды – Мурас жана Java интерфейси

Java – объектке багытталган программалоону колдогон көп парадигмалуу программалоо тили. Мурас жана интерфейстер объектиге багытталган программалоо менен байланышкан. Мурастуулук менен интерфейстин айырмасы, мурас бул учурдагы класстардан жана интерфейстерден жаңы класстарды алуу абстракттуу класстарды жана бир нече мурасты ишке ашыруу болуп саналат.

Мурастын PDF версиясын жана Java интерфейсин жүктөп алыңыз

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

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