Տարբերությունը Java-ում ժառանգության և ինտերֆեյսի միջև

Բովանդակություն:

Տարբերությունը Java-ում ժառանգության և ինտերֆեյսի միջև
Տարբերությունը Java-ում ժառանգության և ինտերֆեյսի միջև

Video: Տարբերությունը Java-ում ժառանգության և ինտերֆեյսի միջև

Video: Տարբերությունը Java-ում ժառանգության և ինտերֆեյսի միջև
Video: Process Scheduling-ը Linux և Windows օպերացիոն համակարգերում - Լիլիթ Կնյազյան 2024, Նոյեմբեր
Anonim

Հիմնական տարբերություն – Ժառանգությունն ընդդեմ ինտերֆեյսի Java-ում

Java-ն ծրագրավորման լեզու է, որը մշակվել է Sun Microsystems-ի կողմից: Java-ն կարող է օգտագործվել տարբեր հավելվածներ մշակելու համար։ Այն բազմակողմանի պարադիգմային լեզու է, որն աջակցում է օբյեկտի վրա հիմնված, կառուցվածքային և այլն: Java-ի հիմնական առավելությունն այն է, որ այն աջակցում է Օբյեկտ-կողմնորոշված ծրագրավորմանը (OOP): Ծրագրավորողը կարող է ստեղծել դասեր և օբյեկտներ: OOP-ում չորս սյուներ կան. Դրանք են ժառանգականությունը, պոլիմորֆիզմը, աբստրակցիան և ինկապսուլյացիան։ Ժառանգությունը և միջերեսները կապված են OOP-ի հետ: Ժառանգության և ինտերֆեյսի հիմնական տարբերությունն այն է, որ ժառանգությունը գոյություն ունեցող դասերից նոր դասեր ստանալն է, իսկ ինտերֆեյսը վերացական դասերի և բազմակի ժառանգության ներդրումն է:

Ի՞նչ է ժառանգությունը Java-ում:

Ժառանգությունը կարող է հասնել կոդի վերօգտագործելիության: Ժառանգումն օգնում է վերօգտագործել գոյություն ունեցող դասի ատրիբուտներն ու մեթոդները: Հին դասի միջոցով նոր դասի ստացման մեխանիզմը կոչվում է ժառանգություն: Հին դասը հայտնի է որպես ծնող դաս կամ սուպեր դաս: Ստացված դասը կոչվում է երեխա դաս կամ ենթադաս:

Java ժառանգության շարահյուսությունը հետևյալն է.

class subclass_name ընդլայնում է superclass_name {

փոփոխական հռչակագիր;

մեթոդի հռչակագիր;

}

Ժառանգության հայեցակարգը կարելի է բացատրել հետևյալ օրինակով: Ենթադրենք, որ կա A կոչվող դաս հետևյալ կերպ։

հանրային դաս A{

public void sum(){

System.out.println(«Sum»);

}

}

Եթե ցանկանում ենք ավելացնել նոր մեթոդ՝ առանց գոյություն ունեցող դասը փոխելու, կարող ենք դա անել հետևյալ կերպ։

հանրային դաս B{

public void sub(){

System.out.println(«Sub»);

}

}

Ծրագրավորողը կարող է օգտագործել ժառանգությունը A դասի գումարը().

հանրային B դասը ընդլայնում է A դասը{

public void sub(){

System.out.println(«Sub»);

}

}

Հիմնական ֆունկցիայում հնարավոր է ստեղծել B-ի օբյեկտ և զանգահարել sub(), որը պատկանում է B դասին և sum(), որը պատկանում է A դասին, օգտագործելով ժառանգությունը:

public static void main (String args){

B obj=նոր B();

obj.sub();

obj.sum();

}

Գոյություն ունեն ժառանգության տարբեր տեսակներ: Դրանք են՝ մեկ ժառանգություն, բազմակի ժառանգություն, բազմաստիճան ժառանգություն և հիերարխիկ ժառանգություն: Մեկ ժառանգության մեջ կա մեկ հիմնական դաս և մեկ ածանցյալ դաս:Բազմաստիճան ժառանգության մեջ կան երեք դասեր՝ բազային դաս, միջանկյալ դաս և ածանցյալ դաս։ Միջանկյալ դասը ժառանգում է բազային դասից, իսկ ածանցյալ դասը՝ միջանկյալ դասից։ Հիերարխիկ ժառանգության մեջ կա մեկ հիմնական դաս և բազմաթիվ ածանցյալ դասեր: Կա հատուկ տեսակ, որը հայտնի է որպես հիբրիդային ժառանգություն: Դա ժառանգության երկու կամ ավելի տեսակների համակցություն է։

Տարբերությունը Java-ում ժառանգության և ինտերֆեյսի միջև
Տարբերությունը Java-ում ժառանգության և ինտերֆեյսի միջև

Գծապատկեր 01. Ժառանգություն

Բազմաթիվ ժառանգության մեջ կան բազմաթիվ հիմնական դասեր և մեկ ածանցյալ դաս: Ենթադրենք, որ A և B դասերը հիմնական դասերն են: C դասը ստացված դասն է: Եթե երկու A և B դասերն ունեն նույն մեթոդը, և ծրագրավորողը կանչում է այդ մեթոդը ստացված դասից, դա կառաջացնի երկիմաստության խնդիր։ Երկու դասերի ժառանգումը կարող է առաջացնել կոմպիլյացիայի ժամանակի սխալ:Հետևաբար, Java-ում բազմակի ժառանգությունը չի ապահովվում: Այդ խնդիրը հաղթահարելու համար կարող է օգտագործվել ինտերֆեյս:

Ի՞նչ է ինտերֆեյսը Java-ում:

Աբստրակցիան իրականացման մանրամասները թաքցնելու և օգտագործողին միայն ֆունկցիոնալությունները ցուցադրելու գործընթաց է: Աբստրակցիա կարելի է հասնել Աբստրակտ դասերի կամ միջերեսների միջոցով: Վերացական մեթոդը մեթոդ է առանց իրականացման: Առնվազն մեկ վերացական մեթոդ ունեցող դասը վերացական դաս է: Աբստրակտ դասի օրինակը հետևյալն է.

աբստրակտ դաս A{

abstract void sum();

}

Ենթադրենք, որ կան երկու վերացական դասեր, ինչպիսիք են A և B: A և B-ի վերացական մեթոդներն իրականացնելու համար ստեղծվում է նոր C դաս: Այնուհետև C դասը պետք է ընդլայնի և՛ A, և՛ B., սակայն Java-ում բազմակի ժառանգությունը չի ապահովվում: Հետևաբար, պետք է օգտագործել միջերեսներ: Ինտերֆեյսները կարող են օգտագործվել մեթոդների հայտարարման համար, բայց մեթոդներ սահմանել հնարավոր չէ: Հնարավոր չէ ստեղծել օբյեկտ՝ օգտագործելով միջերեսներ։C դասը պետք է իրականացնի բոլոր մեթոդները A և B միջերեսում:

ինտերֆեյս A{

void sum();

}

ինտերֆեյս B{

void sub();

}

C դասը իրականացնում է A, B{

public void sum(){

System.out.println («Գումարում»);

}

public void sub(){

System.out.println(«Հանում»);

}

}

Այժմ հիմնական ծրագրում հնարավոր է ստեղծել C-ի օբյեկտ և կանչել երկու մեթոդները։

public static void main (String args) {

C obj=նոր C();

obj.sum();

obj.sub();

}

Այսպիսով, միջերեսները կարող են օգտագործվել բազմակի ժառանգություն իրականացնելու համար:

Ինտերֆեյսերի մեկ այլ օգտագործումն այն է, որ այն ապահովում է անվտանգություն: Տե՛ս ստորև բերված կոդը։

ինտերֆեյս A {

անվավեր գումար ();

}

դաս B-ն իրականացնում է A {

public void sum () {

System.out.println («Գումարում»);

}

public void multiply () {

System.out.println(«Բազմապատկում»);

}

}

B-ի օբյեկտ ստեղծելիս կարելի է երկու մեթոդներն էլ անվանել գումար () և բազմապատկել (): Եթե ծրագրավորողը ցանկանում է սահմանափակել՝ օգտագործելով բազմապատկել () ֆունկցիան, ապա դա հնարավոր է հետևյալ կերպ.

public static void main (String args){

A obj=նոր B();

obj.sum();

}

A obj=նոր B(); օբյեկտ կստեղծի. Այն A տիպի է և հիշողությունը հատկացվում է որպես B: Հնարավոր է կանչել sum()-ը, բայց չի կարող կատարել multiply(): Այս սահմանափակումը կատարվում է միջերեսների միջոցով:

Որո՞նք են նմանությունները ժառանգության և ինտերֆեյսի միջև Java-ում:

  • Երկու հասկացություններն էլ կապված են օբյեկտի վրա հիմնված ծրագրավորման հետ
  • Երկուսն էլ ներկայացնում են IS-A հարաբերությունը:

Ո՞րն է տարբերությունը Java-ում ժառանգության և ինտերֆեյսի միջև:

Ժառանգություն ընդդեմ ինտերֆեյսի Java-ում

Ժառանգությունը OOP հայեցակարգ է՝ գոյություն ունեցող դասերից նոր դասեր ստանալու համար: Ինտերֆեյսը OOP-ում աբստրակցիա և բազմակի ժառանգություն իրականացնելու մեխանիզմ է:
Օգտագործում
Ժառանգությունը ապահովում է կոդի կրկնակի օգտագործման հնարավորություն: Ինտերֆեյսները ապահովում են վերացականություն և բազմակի ժառանգություն:

Ամփոփում – Ժառանգությունն ընդդեմ ինտերֆեյսի Java-ում

Java-ն բազմակողմանի պարադիգմային ծրագրավորման լեզու է, որն աջակցում է օբյեկտի վրա հիմնված ծրագրավորմանը:Ժառանգությունը և ինտերֆեյսները կապված են օբյեկտի վրա հիմնված ծրագրավորման հետ: Ժառանգության և ինտերֆեյսի միջև տարբերությունն այն է, որ ժառանգությունը գոյություն ունեցող դասերից նոր դասեր ստանալն է, իսկ ինտերֆեյսները վերացական դասեր և բազմակի ժառանգություն իրականացնելն է:

Ներբեռնեք ժառանգության ընդդեմ ինտերֆեյսի PDF տարբերակը Java-ում

Դուք կարող եք ներբեռնել այս հոդվածի PDF տարբերակը և օգտագործել այն անցանց նպատակներով՝ ըստ մեջբերումների: Խնդրում ենք ներբեռնել PDF տարբերակը այստեղ Ժառանգության և ինտերֆեյսի միջև տարբերությունը Java-ում

Խորհուրդ ենք տալիս: