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

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

Video: Տարբերությունը վերացական դասի և կոնկրետ դասի միջև

Video: Տարբերությունը վերացական դասի և կոնկրետ դասի միջև
Video: What is a Proxy Server? 2024, Հուլիսի
Anonim

Աբստրակտ դաս ընդդեմ կոնկրետ դաս

Հանրաճանաչ ժամանակակից օբյեկտ կողմնորոշված ծրագրավորման լեզուներից շատերը, ինչպիսիք են Java-ն և C-ը, դասերի վրա հիմնված են: Նրանք դասերի օգտագործման միջոցով հասնում են օբյեկտի վրա հիմնված հասկացություններին, ինչպիսիք են պարփակումը, ժառանգականությունը և պոլիմորֆիզմը: Դասերը իրական աշխարհի օբյեկտների վերացական ներկայացում են: Դասերը կարող են լինել կոնկրետ կամ վերացական՝ կախված իրենց մեթոդի ֆունկցիոնալությունների իրականացման մակարդակից: Կոնկրետ դասը լիովին իրականացնում է իր բոլոր մեթոդները: Աբստրակտ դասը կարող է դիտվել որպես կանոնավոր (կոնկրետ) դասի սահմանափակ տարբերակ, որտեղ այն կարող է պարունակել մասամբ իրականացված մեթոդներ։Սովորաբար, կոնկրետ դասերը կոչվում են (պարզապես) դասեր:

Ի՞նչ է բետոնի դասը:

Լռելյայն դասը կոնկրետ դաս է: Դասական բանալի բառն օգտագործվում է դասեր սահմանելու համար (օրինակ՝ Java-ում): Եվ սովորաբար դրանք պարզապես կոչվում են դասեր (առանց կոնկրետ ածականի): Կոնկրետ դասերը պատկերում են իրական աշխարհի օբյեկտների կոնցեպտուալ ներկայացումը: Դասերն ունեն հատկություններ, որոնք կոչվում են ատրիբուտներ: Հատկանիշներն իրականացվում են որպես գլոբալ և օրինակելի փոփոխականներ: Դասերի մեթոդները ներկայացնում կամ սահմանում են այս դասերի վարքագիծը: Դասերի մեթոդները և ատրիբուտները կոչվում են դասի անդամներ: Սովորաբար, ինկապսուլյացիան ձեռք է բերվում ատրիբուտները մասնավոր դարձնելով, միաժամանակ ստեղծելով հանրային մեթոդներ, որոնք կարող են օգտագործվել այդ ատրիբուտները մուտք գործելու համար: Օբյեկտը դասի օրինակն է: Ժառանգությունը թույլ է տալիս օգտվողին ընդլայնել դասերը (կոչվում են ենթադասեր) այլ դասերից (կոչվում են սուպեր դասեր): Պոլիմորֆիզմը թույլ է տալիս ծրագրավորողին փոխարինել դասի առարկան իր սուպեր դասի օբյեկտի փոխարեն:Որպես կանոն, խնդրի սահմանման մեջ հայտնաբերված գոյականներն ուղղակիորեն դառնում են դասեր ծրագրում: Եվ նմանապես, բայերը դառնում են մեթոդներ: Հանրային, մասնավոր և պաշտպանված մուտքի տիպային փոփոխիչներն են, որոնք օգտագործվում են դասերի համար:

Ի՞նչ է Աբստրակտ դասը:

Աբստրակտ դասերը հայտարարվում են Abstract հիմնաբառի միջոցով (օրինակ՝ Java-ում,): Սովորաբար, Abstract դասերը, որոնք նաև հայտնի են որպես Abstract Base Classes (ABC), չեն կարող օրինակելի լինել (այդ դասի օրինակը չի կարող ստեղծվել): Այսպիսով, Աբստրակտ դասերը իմաստալից են միայն այն դեպքում, եթե ծրագրավորման լեզուն աջակցում է ժառանգությանը (դասերի ընդլայնումից ենթադասեր ստեղծելու կարողություն): Աբստրակտ դասերը սովորաբար ներկայացնում են վերացական հասկացություն կամ էություն՝ մասնակի կամ առանց իրագործման: Հետևաբար, Աբստրակտ դասերը գործում են որպես ծնող դասեր, որոնցից բխում են երեխայի դասերը, որպեսզի երեխայի դասը կիսի ծնող դասի թերի հատկանիշները, և դրանք լրացնելու համար կարող է ավելացվել ֆունկցիոնալությունը::

Աբստրակտ դասերը կարող են պարունակել Աբստրակտ մեթոդներ:Աբստրակտ դասը ընդլայնող ենթադասերը կարող են իրականացնել այս (ժառանգված) Աբստրակտ մեթոդները։ Եթե երեխա դասը իրականացնում է բոլոր նման Abstract մեթոդները, այն դառնում է կոնկրետ դաս: Բայց եթե դա չլինի, ապա մանկական դասարանը նույնպես դառնում է Աբստրակտ դաս: Այս ամենը նշանակում է, որ երբ ծրագրավորողը դաս է առաջադրում որպես Abstract, նա ասում է, որ դասը թերի կլինի և այն կունենա տարրեր, որոնք պետք է լրացվեն ժառանգող ենթադասերով: Սա երկու ծրագրավորողների միջև պայմանագիր ստեղծելու լավ միջոց է, որը հեշտացնում է ծրագրային ապահովման մշակման խնդիրները: Ծրագրավորողը, ով գրում է կոդը ժառանգելու համար, պետք է ճշգրիտ հետևի մեթոդի սահմանումներին (բայց, իհարկե, կարող է ունենալ իր սեփական իրականացումը):

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

Աբստրակտ դասերը սովորաբար ունենում են մասնակի կամ բացակայում են իրականացում: Մյուս կողմից, կոնկրետ դասերը միշտ ունեն դրա վարքագծի լիարժեք իրականացում։ Ի տարբերություն կոնկրետ դասերի, աբստրակտ դասերը չեն կարող օրինակելի լինել:Հետևաբար, վերացական դասերը պետք է ընդլայնվեն, որպեսզի դրանք օգտակար լինեն: Աբստրակտ դասերը կարող են պարունակել վերացական մեթոդներ, իսկ կոնկրետ դասերը՝ ոչ։ Երբ վերացական դասը ընդլայնվում է, բոլոր մեթոդները (և վերացական և կոնկրետ) ժառանգվում են: Ժառանգված դասը կարող է իրականացնել ցանկացած կամ բոլոր մեթոդները: Եթե բոլոր վերացական մեթոդները չեն իրականացվում, ապա այդ դասը նույնպես դառնում է վերացական դաս։

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