Հիմնական տարբերություն – Դաս ընդդեմ ինտերֆեյսի
Օբյեկտ-կողմնորոշված ծրագրավորումը (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 տարբերակը այստեղ Տարբերությունը դասի և ինտերֆեյսի միջև