Տարբերություն դասի և ինտերֆեյսի միջև

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

Տարբերություն դասի և ինտերֆեյսի միջև
Տարբերություն դասի և ինտերֆեյսի միջև

Video: Տարբերություն դասի և ինտերֆեյսի միջև

Video: Տարբերություն դասի և ինտերֆեյսի միջև
Video: Եկեղեցու պատմությույ - Դաս 13 - Հիսուսի Առաքյալները 2024, Հունիսի
Anonim

Հիմնական տարբերություն – Դաս ընդդեմ ինտերֆեյսի

Օբյեկտ-կողմնորոշված ծրագրավորումը (OOP) ծրագրային ապահովման մշակման ընդհանուր պարադիգմ է: Այն օգնում է իրական աշխարհի սցենարները բերել ծրագրավորման՝ օգտագործելով դասեր և օբյեկտներ: Դասը օբյեկտ ստեղծելու ծրագիր է: Ծրագրավորողը կարող է դաս ստեղծել հատկություններով և մեթոդներով: Աշակերտը և ուսուցիչը առարկաներ են: Օբյեկտի ստեղծումը հայտնի է որպես ինստանցիացիա: OOP-ն օգտագործում է նաև միջերեսներ: Ինտերֆեյսները և դասը կարող են թվալ նման, բայց դրանք ունեն տարբերություն: Այս հոդվածը քննարկում է դասի և ինտերֆեյսի միջև եղած տարբերությունը: Դասի և ինտերֆեյսի միջև հիմնական տարբերությունն այն է, որ դասը հղման տեսակ է, որը նախագիծ է օբյեկտի օրինականացման համար, մինչդեռ ինտերֆեյսը հղման տեսակ է, որը չի կարող օգտագործվել օբյեկտի օրինակելիության համար:

Ի՞նչ է դասը:

OOP-ում ամեն ինչ դիտարկվում է որպես օբյեկտ։ Առանց դասի հնարավոր չէ օբյեկտ ստեղծել։ Դասը օբյեկտ ստեղծելու ծրագիր է: Տուն կառուցելիս ճարտարապետը գծում է հատակագիծը։ Պլանը նման է դասի: Տունը նման է օբյեկտին. Դասը օբյեկտ կառուցելու ծրագիր է: Օբյեկտն այն է, ինչ ստեղծվում է դասի միջոցով:

Դասը պարունակում է հատկություններ և մեթոդներ: Ուսանողը կարող է ունենալ այնպիսի հատկություններ, ինչպիսիք են անունը, գնահատականը, ինդեքսի համարը: Ուսանողը կարող է ունենալ այնպիսի մեթոդներ, ինչպիսիք են կարդալը, քայլելը, սովորելը: Ստեղծվում է դաս՝ անհրաժեշտ հատկություններով և մեթոդներով։

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

class class_name {

// հատկություններ

//մեթոդներ

}

Ծրագրավորման լեզուները, ինչպիսիք են C-ը և Java-ն, հետևում են նմանատիպ շարահյուսության՝ դասի միջոցով օբյեկտ ստեղծելու համար: Ենթադրենք, որ դասարանի անունը Ուսանող է։

Student s1=նոր ուսանող ();

Այս s1-ը օբյեկտն է: «Նոր» հիմնաբառը օգտագործվում է հատկությունների համար հիշողություն հատկացնելու համար: Դասն ունի նաև կոնստրուկտոր՝ հատկությունները կամ փոփոխականները սկզբնավորելու համար։

Դասի անդամները, ինչպիսիք են հատկությունները և մեթոդները, ունեն մուտքի փոփոխիչներ: Մուտքի սպեցիֆիկատորները նկարագրում են այդ անդամների հասանելիությունն ու տեսանելիությունը այլ դասերի համար: Դասի անդամները կարող են ունենալ մուտքի ցուցիչներ, ինչպիսիք են հանրային, մասնավոր և պաշտպանված: Հանրային անդամները հասանելի են այլ դասարանների համար: Մասնավոր անդամները հասանելի են միայն դասարանին: Պաշտպանված անդամները հասանելի են դասի և համապատասխան ենթադասերի ներսում:

Ի՞նչ է ինտերֆեյսը:

Աբստրակցիան օբյեկտ կողմնորոշված ծրագրավորման սյուն է: Դա կատարման մանրամասները թաքցնելու և օգտագործողին ֆունկցիոնալությունը ցուցադրելու համար է: Աբստրակցիան ձեռք է բերվում վերացական դասերի և միջերեսների միջոցով: Աբստրակտ մեթոդը իրագործում չունի։ Այն դասը, որը պարունակում է առնվազն մեկ վերացական մեթոդ, կոչվում է վերացական դաս:

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

Ինտերֆեյսները պարունակում են միայն մեթոդների հայտարարությունը: Իրականացման մեթոդ չկա. Բացի այդ, ինտերֆեյսները չեն կարող օգտագործվել օբյեկտներ ստեղծելու համար: Դրանք օգտագործվում են բազմաթիվ ժառանգություններն աջակցելու և ծածկագիրը ապահովելու համար:

Interface-ի շարահյուսությունը հետևյալն է. Ինտերֆեյս օգտագործեք «ինտերֆեյս» հիմնաբառը:

ինտերֆեյսի ինտերֆեյսի_անուն{

տիպի մեթոդ1 (parameter_list);

տիպի մեթոդ2 (պարամետր_ցուցակ);

}

Ըստ վերևի, ինտերֆեյսներն ունեն միայն հայտարարագիրը: Սահմանում չկա։ Այսպիսով, ինտերֆեյսները չեն կարող ակնարկավորել օբյեկտները: Այն միայն վերացական պատկերացում է տալիս այն մասին, թե ինչ է ինտերֆեյսը:Ինտերֆեյսում հայտարարված մեթոդները կարող են իրականացվել մեկ կամ մի քանի դասերի կողմից: Դասարանն օգտագործում է «իրականացնել» հիմնաբառը՝ ինտերֆեյսի իրականացման համար: Տե՛ս ստորև Java-ի միջոցով գրված օրինակը:

Տարբերությունը դասի և ինտերֆեյսի միջև
Տարբերությունը դասի և ինտերֆեյսի միջև
Տարբերությունը դասի և ինտերֆեյսի միջև
Տարբերությունը դասի և ինտերֆեյսի միջև

Նկար 01. Ծրագիր՝ օգտագործելով միջերես

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

Ինտերֆեյսի ներսում հայտարարված մեթոդները միշտ պետք է լինեն հրապարակային, քանի որ իրականացնող դասերը սահմանում են դրանք: Ինտերֆեյսը կարող է նաև ժառանգել մեկ այլ ինտերֆեյս:

Որո՞նք են նմանությունները դասի և ինտերֆեյսի միջև:

  • Երկուսն էլ տեղեկանքի տեսակներ են։
  • Երկուսն էլ վերաբերում են օբյեկտի վրա հիմնված ծրագրավորմանը:

Ո՞րն է տարբերությունը դասի և ինտերֆեյսի միջև:

Դաս ընդդեմ ինտերֆեյսի

Ա դասը հղման տեսակ է, որը օբյեկտ ստեղծելու ծրագիր է: Ինտերֆեյսը հղման տեսակ է, որը հնարավոր չէ ստեղծել:
Օբյեկտի տեղադրում
Ա դասը օգտագործվում է օբյեկտի օրինակելիության համար: Ինտերֆեյսը հնարավոր չէ ստեղծել, քանի որ մեթոդները չեն կարողանում որևէ գործողություն կատարել:
Կառուցող
Ա դասը պարունակում է կոնստրուկտոր՝ փոփոխականները սկզբնավորելու համար: Ինտերֆեյսը չի պարունակում կոնստրուկտոր, քանի որ դրանք հազիվ թե սկզբնավորվեն փոփոխականներ:
Հիմնաբառ
Ա դասարանը օգտագործում է «դաս» հիմնաբառը: Ինտերֆեյսը օգտագործում է «ինտերֆեյս» հիմնաբառը:
Մուտքի ցուցիչ
Դասի անդամները կարող են լինել մասնավոր, հանրային և պաշտպանված: Ինտերֆեյսի անդամները պետք է միշտ լինեն հրապարակային, քանի որ իրականացնող դասերը սահմանում են դրանք:

Ամփոփում – Դաս ընդդեմ ինտերֆեյսի

Դասերը և ինտերֆեյսները լայնորեն օգտագործվում են Օբյեկտա-կողմնորոշված ծրագրավորման մեջ: Դասի և ինտերֆեյսի միջև տարբերությունն այն է, որ դասը հղման տեսակ է, որը նախագիծ է օբյեկտի օրինակելիության համար, իսկ ինտերֆեյսը հղման տեսակ է, որը չի կարող օգտագործվել օբյեկտի օրինակելիության համար:Դասը կարող է իրականացնել բազմաթիվ ինտերֆեյսներ: Բայց դա կարող է ընդլայնել միայն մեկ գերդաս: Ինտերֆեյսը կարող է ժառանգել բազմաթիվ ինտերֆեյսներ, բայց չի կարող լինել իրականացում: Երկուսն էլ ունեն իրենց կարևորությունը։ Ծրագրավորողը կարող է դրանք օգտագործել ըստ մշակող ծրագրերի:

Ներբեռնեք PDF դասն ընդդեմ ինտերֆեյսի

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

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