Բառը[Թաքցնել][Ցուցադրում]
- 1. Ի՞նչ է իրականում առարկայական ծրագրավորումը:
- 2. Ինչու՞ են անհրաժեշտ OOP-ները:
- 3. Ի՞նչ առավելություններ են առաջարկում OOPS սկզբունքները:
- 4. Որո՞նք են OOPs հայեցակարգի հիմնասյուները:
- 5. Ի՞նչ է կոնկրետ դասը:
- 6. Ի՞նչ է կոնկրետ առարկան:
- 7. Որո՞նք են OOP-ների սահմանափակումները:
- 8. Ի՞նչ է ժառանգությունը:
- 9. Ի՞նչ է կոնկրետ ինկապսուլյացիան:
- 10. Ի՞նչ է պոլիմորֆիզմը:
- 11. Ի՞նչ է իրականում աբստրակցիան:
- 12. Ի՞նչ է կոնկրետ մեթոդի գերբեռնումը:
- 13. Ո՞րն է մեթոդի գերակայությունը:
- 14. Ի՞նչ է կոնկրետ գերդասարանը:
- 15. Ի՞նչ է կոնկրետ ենթադասը:
- 16. Ի՞նչ է ստատիկ պոլիմորֆիզմը:
- 17. Ի՞նչ է իրենից ներկայացնում դինամիկ պոլիմորֆիզմը:
- 18. Նկարագրե՛ք Կոնստրուկտոր հասկացությունը:
- 19. Կոնկրետ որո՞նք են մուտքի մոդիֆիկատորները:
- 20. Ի՞նչ է իրենից ներկայացնում դեստրուկտորը:
- 21. Ի՞նչ է իրականում հիբրիդային ժառանգությունը:
- 22. Ի՞նչ է հենց հիերարխիկ ժառանգությունը:
- 23. Որո՞նք են ժառանգականության թերությունները:
- 24. Կոնկրետ ո՞րն է բացառությունը:
- 25. Կոնկրետ ի՞նչ է իրենից ներկայացնում բացառությունների մշակումը, և որո՞նք են դրա առավելությունները:
- 26. Ի՞նչ են կոնկրետ վիրտուալ գործառույթները:
- 27. Ի՞նչ է իրենից ներկայացնում ընկերոջ ֆունկցիան:
- 28. Ի՞նչ է կոնկրետ աղբահանությունը:
- 29. Ի՞նչ է կոնկրետ զուգավորումը:
- 30. Ի՞նչ է կոնկրետ համախմբվածությունը:
- 31. Նկարագրեք փորձել/բռնել բլոկը:
- 32. Նկարագրեք վերջնական բլոկ:
- 33. Ի՞նչ է իրենից ներկայացնում ինտերֆեյսը:
- 34. Ի՞նչ է կոնկրետ կազմը:
- 35. Ի՞նչ է կոնկրետ կոնստրուկտորների շղթայականացումը:
- Եզրափակում
Ծրագրավորման ամենաազդեցիկ պարադիգմներից մեկը կոչվում է OOPs կամ օբյեկտի վրա հիմնված ծրագրավորում: Գործառույթների և գործընթացների փոխարեն այն շեշտը դնում է դասերի և օբյեկտների վրա։
Դրա հիմնական նպատակն է կապել տվյալները և իրերը, որպեսզի ավելի հեշտ լինի աշխատել դրանց հետ: OOP-ներում յուրաքանչյուր օբյեկտ կազմված է կոդից՝ պրոցեդուրաների կամ մեթոդների տեսքով և տվյալների՝ դաշտերի տեսքով:
Լեզուները, ինչպիսիք են C++-ը, Objective C-ն, Python-ը, Perl-ը և Java-ն, ամենահայտնի օբյեկտ-կողմնորոշված լեզուներից են: ծրագրավորման լեզուները.
Շատ կարևոր է ավելին հասկանալ այս մասին, քանի որ հարցազրույցի հարցերը չափազանց բնորոշ են: Ընկերությունների մեծ մասը փնտրում է ինժեներների, ովքեր ծանոթ են օբյեկտի վրա հիմնված մեթոդներին և օրինաչափություններին: Այսպիսով, եթե դուք մտադիր եք մասնակցել հարցազրույցի, դուք պետք է լավ տիրապետեք OOP գաղափարներին:
Օբյեկտ-կողմնորոշված ծրագրավորման հարցազրույցի տարբեր հարցեր՝ սկսնակից մինչև փորձագիտական մակարդակներով, կցուցադրվեն այս գրառման մեջ: Այսպիսով, դուք կարող եք անցնել ցանկացած մակարդակի հարցազրույց և ապահովել ձեր երազանքի դիրքը:
1. Ի՞նչ է իրականում առարկայական ծրագրավորումը:
Օբյեկտ-կողմնորոշված ծրագրավորումը (OOPs) հիմնված է իրական օբյեկտների վրա, այլ ոչ միայն գործառույթների և գործընթացների վրա: Դասընթացներ են ստեղծվում առանձին ապրանքների համար։
Ժառանգությունը, պոլիմորֆիզմը և թաքցումը իրական աշխարհի հասկացությունների օրինակներ են, որոնք OOP-ները ներառում են ծրագրավորման մեջ: Այն նաև հնարավորություն է տալիս կապել տվյալները և կոդը:
2. Ինչու՞ են անհրաժեշտ OOP-ները:
Կան մի քանի պատճառ, թե ինչու OOP-ները նախընտրելի են, այնուամենայնիվ, ամենակարևորները հետևյալն են.
- OOP-ները թույլ են տալիս մարդկանց հեշտությամբ ընկալել ծրագրակազմը, նույնիսկ եթե նրանք անծանոթ են իրականացմանը:
- Վա՜յ, բարելավեք կոդերի ընթեռնելիությունը, հասկանալիությունը և պահպանելիությունը տասը անգամ:
- Օգտագործելով OOP-ները, նույնիսկ չափազանց մեծ հավելվածները կարելի է պարզապես կառուցել և կառավարել:
3. Ի՞նչ առավելություններ են առաջարկում OOPS սկզբունքները:
- OOPS, ծրագրավորման օբյեկտները նմանակում են իրական աշխարհի օբյեկտները՝ նվազեցնելով բարդությունը և բարձրացնելով ծրագրի հստակությունը:
- Օբյեկտները կարող են բազմիցս օգտագործվել բազմաթիվ ծրագրերում:
- Յուրաքանչյուր օբյեկտ ստեղծում է առանձին միավոր, որի ներքին գործողությունները անկախ են համակարգի այլ բաղադրիչներից:
- Ներկայացնելով մի քանի նոր օբյեկտներ և թարմացնելով մի քանի արդեն գոյություն ունեցողները, հնարավոր է ավելացնել նոր գործառույթներ կամ հարմարվել փոփոխվող աշխատանքային պայմաններին:
- OOPs ծրագրի գործընթացները կամ տվյալների ներկայացումը հեշտությամբ կարող են ենթարկվել փոքր ճշգրտումների:
4. Որո՞նք են OOPs հայեցակարգի հիմնասյուները:
Հետևյալները OOP-ի հիմնական սյուներն են.
ԺառանգությունԱյն հնարավորություն է տալիս դասերին ժառանգել մեկ այլ դասի ատրիբուտները:
ՆերդաշնակությունՍա սահմանվում է որպես օբյեկտի հատկություն, որը թաքցնում է կարևոր տեղեկատվությունը: Սա պահում է տվյալները դասի անդամներից թաքցված: Հստակեցիչները նկարագրում են, թե ինչպես է օբյեկտի հատկանիշը հասանելի կոդով:
ՊոլիմորֆիզմՍա թույլ է տալիս իրականացնել մեկ գործողություն մի քանի ձևով: Այն իրականացվում է ինտերֆեյսների միջոցով, որոնցում մենք հայտարարում ենք մեկ ինտերֆեյս, որը հետագայում մի քանի անգամ իրականացվում է:
ԱբստրակցիանԱյս գործառույթը կարող եք օգտագործել արտաքին աշխարհից կարևոր տեղեկատվությունը թաքցնելու և միայն էական փաստերը ներկայացնելու համար:
5. Ի՞նչ է կոնկրետ դասը:
Դասը նախատիպ է, որը կազմված է տարբեր վիճակներում գտնվող օբյեկտներից և տարբեր վարքագծով: Այն ունի մի շարք մեթոդներ, որոնք համօգտագործվում են այդ դասի օբյեկտների կողմից:
6. Ի՞նչ է կոնկրետ առարկան:
Օբյեկտը իրական աշխարհի սուբյեկտ է, որը ծառայում է որպես OOP-ների հիմնական միավոր, օրինակ՝ աթոռ, կատու կամ շուն: Տարբեր առարկաներ ունեն տարբեր վիճակներ, հատկություններ և գործողություններ:
7. Որո՞նք են OOP-ների սահմանափակումները:
- Չափը ավելի մեծ է, քան մյուս հավելվածների չափը:
- Դա պահանջում է որոշակի սովորություն:
- Որոշ տեսակի խնդիրներ դա չեն պահանջում:
- Այն ստեղծելու համար աշխատատար էր, և համեմատած այլ հավելվածների հետ, այն ավելի դանդաղ է գործում:
8. Ի՞նչ է ժառանգությունը:
Ժառանգություն կոչվող հասկացությունը վերաբերում է դասի հաստատված կառուցվածքի և վարքագծի կիսմանը մեկ այլ դասի կողմից: Երբ ժառանգությունը կիրառվում է մեկ դասի վրա, այն կոչվում է մեկ ժառանգություն. երբ այն կախված է բազմաթիվ դասերից, այն կոչվում է բազմակի ժառանգություն:
9. Ի՞նչ է կոնկրետ ինկապսուլյացիան:
OOP-ի գաղափարը ներառում է նաև encapsulation: Այն նկարագրում է տվյալների և տվյալների մանիպուլյացիայի տեխնիկայի միաձուլումը: Բացի այդ, այն օգնում է կանխել ուղղակի մուտքը օբյեկտի որոշ մասեր:
10. Ի՞նչ է պոլիմորֆիզմը:
OOP լեզուներում պոլիմորֆիզմը հիմնարար հասկացություն է: Այն ցույց է տալիս, թե ինչպես կարող են տարբեր դասեր կիսել ինտերֆեյսը: Այս դասերը բոլորն էլ կարող են ունենալ ինտերֆեյսի եզակի ներդրում:
11. Ի՞նչ է իրականում աբստրակցիան:
Աբստրակցիան օբյեկտի վրա հիմնված ծրագրավորման (OOPs) հայեցակարգ է, որն օգտագործվում է իրական աշխարհի օբյեկտների կառուցվածքը ստեղծելու համար: Այն «ցուցադրում է» միայն ամենակարևոր հատկությունները և «թաքցնում» արտաքին աշխարհից արտասովոր տեղեկատվությունը: Աբստրակցիայի հիմնական նպատակն է պաշտպանել մարդկանց ավելորդ տեղեկատվությունից:
12. Ի՞նչ է կոնկրետ մեթոդի գերբեռնումը:
Հնարավոր է, որ երկու կամ ավելի պրոցեդուրաներ ունենան նույն անվանումը: Այնուամենայնիվ, դրանք պետք է ունենան տարբեր պարամետրեր, տարբեր թվով պարամետրեր, տարբեր տեսակներ կամ երկուսն էլ: Սրանք հայտնի են որպես գերբեռնված մեթոդներ, իսկ հատկանիշը հայտնի է որպես մեթոդի գերբեռնում:
13. Ո՞րն է մեթոդի գերակայությունը:
Օբյեկտ-կողմնորոշված ծրագրավորումը ներառում է մեթոդի գերակայության գաղափարը: Դա լեզվի առանձնահատկություն է, որը թույլ է տալիս ենթադասին կամ երեխայի դասին առաջարկել մեթոդի հարմարեցված իրականացում, որն արդեն տրամադրում է իր գերդասերից կամ ծնող դասերից մեկը:
14. Ի՞նչ է կոնկրետ գերդասարանը:
Գերդասը, որը հաճախ հայտնի է որպես բազային դաս, դասի տեսակ է, որը գործում է որպես մեկ այլ դասի կամ դասերի ծնող։ Ավտոմեքենաների դասը, օրինակ, ունի ենթադաս, որը կոչվում է Vehicle:
15. Ի՞նչ է կոնկրետ ենթադասը:
Ենթադասը մեկ այլ դասի ենթադաս է: Ֆուրգոնը, օրինակ, Vehicle ենթադաս է կամ ստացված դաս:
16. Ի՞նչ է ստատիկ պոլիմորֆիզմը:
Կազմման ժամանակ տեղի է ունենում պոլիմորֆիզմի մի տեսակ, որը հայտնի է որպես ստատիկ պոլիմորֆիզմ (ստատիկ կապում): Մեթոդի գերբեռնվածությունը կոմպիլյացիոն ժամանակի պոլիմորֆիզմի տեսակ է։
17. Ի՞նչ է իրենից ներկայացնում դինամիկ պոլիմորֆիզմը:
Պոլիմորֆիզմի մի տեսակ, որը լուծվում է գործարկման ժամանակ, կոչվում է գործարկման ժամանակի պոլիմորֆիզմ, որը նաև հայտնի է որպես դինամիկ պոլիմորֆիզմ (դինամիկ կապում): Մեթոդների գերակայությունը գործարկման ժամանակի պոլիմորֆիզմի օրինակ է:
18. Նկարագրե՛ք Կոնստրուկտոր հասկացությունը:
Կոնստրուկտորը դասի հատուկ մեթոդ է, որը ավտոմատ կերպով կանչվում է դասի օրինակ ստեղծելու ժամանակ: Երբ մուտք եք գործում դաս, այն կառուցվում է դասի նույն անունով և սկզբնավորում է իր բոլոր անդամներին: Կոնստրուկտորների հիմնական բնութագրերը հետևյալն են.
Կոնստրուկտորների համար վերադարձի տեսակ չկա:
Հնարավոր է գերբեռնված կոնստրուկտորներ:
Չի պահանջվում նշել կոնստրուկտոր. the.NET Framework-ը դա կանի ավտոմատ կերպով:
19. Կոնկրետ որո՞նք են մուտքի մոդիֆիկատորները:
Օբյեկտ-կողմնորոշված լեզուներում հիմնաբառերը մուտքի փոփոխիչներ են կամ մուտքի ցուցիչներ: Այն օգնում է դասերի, մեթոդների և այլ անդամների հասանելիության կազմաձևմանը:
20. Ի՞նչ է իրենից ներկայացնում դեստրուկտորը:
Դեստրուկտորը մեթոդ է օբյեկտին հատկացված ռեսուրսները ազատելու համար: Երբ օբյեկտը ոչնչացվում է, այս մեթոդը ավտոմատ կերպով կանչվում է:
21. Ի՞նչ է իրականում հիբրիդային ժառանգությունը:
Հիբրիդային ժառանգությունը ժառանգության մի տեսակ է, որը առաջանում է ժառանգության մի քանի ձևերի խառնուրդից, ինչպիսիք են միայնակ, բազմակի և այլն:
22. Ի՞նչ է հենց հիերարխիկ ժառանգությունը:
Բազմաթիվ ենթադասեր ժառանգում են մայր դասից հիերարխիկ ժառանգության իրավիճակում: Ժառանգության մի տեսակ, որտեղ բազմաթիվ դասեր սերում են մեկ ծնողից կամ բազային դասից, հայտնի է որպես հիերարխիկ ժառանգություն: Օրինակ, մրգերի դասը կարող է պարունակել ենթադասեր, ինչպիսիք են «խնձոր», «մանգո», «բանան», «բալ» և այլն:
23. Որո՞նք են ժառանգականության թերությունները:
Այն երկարացնում և բարդացնում է կատարման գործընթացը։ Այն նաև պահանջում է անցում տարբեր դասերի միջև: Ծնող-երեխա դասերը միշտ անքակտելիորեն կապված են:
Ուսումնական ծրագրի փոփոխությունները կպահանջեն վերանայումներ ինչպես ծնողի, այնպես էլ երեխայի դասարանի համար: Ժառանգությունը պետք է զգույշ իրականացվի, հակառակ դեպքում արդյունքները սխալ կլինեն:
24. Կոնկրետ ո՞րն է բացառությունը:
Բացառություն է այն միջադեպը, որը խանգարում է կոդի սովորական աշխատանքին: Կատարումը շարունակելու համար դուք կարող եք կարգավորել այս բացառությունները Java-ում: Java-ում կան բազմաթիվ տեսակի նախապես սահմանված բացառություններ, և բացառությունների մշակումը նախատեսված է բարձրացված բացառությունները վերահսկելու համար՝ օգտագործելով try-catch բլոկները:
25. Կոնկրետ ի՞նչ է իրենից ներկայացնում բացառությունների մշակումը, և որո՞նք են դրա առավելությունները:
Java-ում ամենակարևոր մեթոդը գործարկման ժամանակի անսպասելի ձախողումների հետ գործ ունենալու համար բացառությունների մշակումն է: Այն թույլ է տալիս վերահսկել գործարկման ժամանակի սխալները, որոնք առաջանում են ծրագրի կատարման ընթացքում:
Բացառությունների մշակման առավելությունները ներառում են բացառությունները կառավարելիս ծրագրի կանոնավոր հոսքը պահպանելու հնարավորությունը: Օրինակ, եթե ծրագրի մեկ բաժնում սխալ է տեղի ունենում, այն չի ազդի ծրագրի մնացած մասի վրա, եթե բացառությունը կարգավորենք try-catch բլոկներով:
26. Ի՞նչ են կոնկրետ վիրտուալ գործառույթները:
Վիրտուալ գործառույթները նույնպես ներառված են մայր դասի ֆունկցիաների մեջ և վերացված են ենթադասի կողմից: Այս ռեժիմներն օգնում են գործարկման ժամանակի պոլիմորֆիզմի ձեռքբերմանը:
27. Ի՞նչ է իրենից ներկայացնում ընկերոջ ֆունկցիան:
Ընկերոջ գործառույթը գործառույթ է, որը պատկանում է դասին և թույլատրվում է մուտք գործել նրա հանրային, մասնավոր կամ պաշտպանված տվյալներ: Եթե ֆունկցիան սահմանված է դասից դուրս, ապա հնարավոր չէ առբերել այս տվյալները։ Մուտքի վերահսկման հիմնաբառերը մասնավոր, հանրային և պաշտպանված չեն կապ ունեն ընկերոջ հայտարարագրի հետ, որը կարող է կատարվել դասի հայտարարագրում որևէ տեղ:
28. Ի՞նչ է կոնկրետ աղբահանությունը:
Աղբի հավաքումը (GC) ծրագրավորման լեզուների տարր է, ինչպիսիք են C#-ը և Java-ն, որը ծառայում է որպես հիշողության վերականգնման համակարգ: Աղբի հավաքման շարժիչը (GC) ծրագրավորման լեզվի բաղադրիչ է, որը թույլ է տալիս ավտոմատացված հիշողության տարածություն ազատել այն օբյեկտների համար, որոնք հավելվածն այլևս չի օգտագործում:
29. Ի՞նչ է կոնկրետ զուգավորումը:
Այն վերաբերում է իրավիճակներին, երբ տարբեր դասեր ապավինում են միմյանց և կիսում գիտելիքները: Ուժեղ կապը տեղի է ունենում, երբ մի դասը մանրամասն գիտելիքներ ունի մեկ այլ դասի մասին: Դուք կարող եք նշել դասերի, մեթոդների կամ փոփոխականների տեսանելիությունը՝ օգտագործելով մուտքի փոփոխիչներ: Ինտերֆեյսներն օգտագործվում են ավելի թույլ միացում ապահովելու համար:
30. Ի՞նչ է կոնկրետ համախմբվածությունը:
Այն, թե ինչպես է բաղադրիչը կատարում որոշակի գործունեություն, կոչվում է դրա համախմբվածություն: Ուժեղ, համահունչ մոտեցումը պարզապես կկատարի սահմանված առաջադրանքը, մինչդեռ թույլ, համահունչ մեթոդը մեկ առաջադրանքը կբաժանի մի քանի փոքր առաջադրանքների և այնուհետև կավարտի դրանք:
Java.io փաթեթը բավականին համահունչ է, բայց java.util փաթեթը՝ ոչ:
31. Նկարագրեք փորձել/բռնել բլոկը:
Երբ ծրագիրը սխալ կոդի կամ տվյալների պատճառով սխալ է հանդիպում, «փորձել» և «բռնել» ցույց են տալիս, թե ինչպես կառավարել այն: Փորձի բլոկը կոդի այն մասի անունն է, երբ բացառություններ են լինում: Catch բլոկը օգտագործվում է փորձարկման բլոկներից բացառություններ գրավելու և դրանց հետ գործելու համար:
32. Նկարագրեք վերջնական բլոկ:
Փորձել հիմնաբառի կոդերի աշխատանքային մասը նշված է վերջինը: Այն նշանակում է կոդը, որը միշտ գործարկվում է փորձարկումից անմիջապես հետո, և ցանկացած catch բլոկներ՝ նախքան մեթոդի ավարտը: Վերջնական բլոկը միշտ գործարկվում է՝ անկախ նրանից, որ բացառություն է նետվում կամ բռնվում:
33. Ի՞նչ է իրենից ներկայացնում ինտերֆեյսը:
Ինտերֆեյսը վերացական մեթոդների և օգտագործողի կողմից սահմանված տվյալների տիպի համակցություն է: Դասը իրականացնում է ինտերֆեյս՝ ժառանգելով ինտերֆեյսի աբստրակտ ֆունկցիաները։
Դասը ներկայացնում է օբյեկտի հատկությունները և վարքագիծը, մինչդեռ ինտերֆեյսը ներառում է այն վարքագիծը, որն իրականացնում է դասը: Ինտերֆեյսը ներկայացնում է «ինչը», մինչդեռ Դասը փոխանցում է «ինչպես»:
34. Ի՞նչ է կոնկրետ կազմը:
Կազմը կարող է օգտագործվել կապի հասնելու համար: Այն ցույց է տալիս ուժեղ օբյեկտային կապ կախյալ և անկախ օբյեկտների միջև՝ ի տարբերություն ագրեգացման: Կախված օբյեկտն այս պարագայում գոյություն չունի և կհեռացվի, եթե մայր օբյեկտը ջնջվի:
35. Ի՞նչ է կոնկրետ կոնստրուկտորների շղթայականացումը:
Կոնստրուկտորների շղթայականացումը տեխնիկա է, որը կոչում է մեկ կոնստրուկտոր մյուսից ընթացիկ օբյեկտի հղման հետ կապված: Երկու տարբերակ կա.
- Ընթացիկ դասի կոնստրուկտորին կարելի է հղում անել՝ օգտագործելով «այս» հիմնաբառը:
- «Սուպեր» հիմնաբառը կօգտագործվի բազային դասից կոնստրուկտորին կանչելու համար:
Եզրափակում
Օբյեկտ-կողմնորոշված ծրագրավորումը պահանջում է մտածել ծրագրի կառուցվածքի մասին և ժամանակից շուտ պատրաստվել: Ուսումնասիրելով, թե ինչպես կարելի է պահանջները բաժանել հիմնական, բազմակի օգտագործման դասերի, որոնք կարող են օգտագործվել իրերի օրինակներ ստեղծելու համար:
Ընդհանուր առմամբ, OOP-ի ընդունումը բարելավում է ապահովում տվյալների կառուցվածքները և բազմակի օգտագործման հնարավորությունը, որը երկարաժամկետ հեռանկարում խնայում է ժամանակը: Տեսնել Հաշդորկի հարցազրույցների շարքը հարցազրույցի նախապատրաստման հարցում օգնության համար:
Թողնել գրառում