Ժառանգում (ծրագրավորում)
Այս հոդվածն աղբյուրների կարիք ունի։ Դուք կարող եք բարելավել հոդվածը՝ գտնելով բերված տեղեկությունների հաստատումը վստահելի աղբյուրներում և ավելացնելով դրանց հղումները հոդվածին։ Անհիմն հղումները ենթակա են հե��ացման։ |
Ժառանգում | |
---|---|
Տեսակ | հասկացություն |
Դաս | relation? |
Ժառանգում (անգլ.՝ inheritance), օբյեկտ կողմնորոշված ծրագրավորման մեխանիզմ, թույլ է տալիս ստեղծել մի նոր կլասս հնի հիման վրա (ժառանգական)։ Նոր ստեղծված կլասսը ունենում է հին կլասսի բոլոր առանձնահատկությունները ու հատկությունները։ Նոր կլասսն իրավունք ունի ստեղծել նոր մեթոդներ և հատկություններ, բացի այդ իրավունք ունի վերցնել ծնող կլասսից։ Այն թույլ է տալիս կառուցել կլասսների հիերարխիա։ Նա մեկն է հինգ տեսակի միություններից։
Ժառանգականությունը տրամադրում է ՕՕՊ(ՕԿԾ) պոլիմորֆիզմ և տվյալների աբստրակցիա[1]։
Ժառանգականության տարբերակներ
[խմբագրել | խմբագրել կոդը]Հասարակ ժառանգում
[խմբագրել | խմբագրել կոդը]Կլասսը, որից ստեղծվել է նոր կլաս կոչվում է հիմնական կամ ծնողական (անգլ.՝ base class). Այն կլասսները որոնք ս��եղծվել են հիմնական կլասսներից անվանվում են հետնորդներ, ժառանգներ կամ ստացված կլասսսներ (անգլ.՝ derived class)։
Որոշ լեզուներում օգտագործվում են վերացական կլասսներ։ Վերացական կլասսը մի կլասս է, որն իր մեջ պարունակում է գեթ մեկ վերացական մեթոդ, այն նկարագրված է ծրագրում, ունի դաշտեր, մեթոդներ, չի կարող օգտագործվել ուղղակիորեն օբյեկտ ստեղծելիս։
Օրինակ վերացական կլասս կարող է լինել «համալսարանի աշխատակից», որից ժառանգվում են "շրջանավարտների», «պրոֆեսորը» և այլ դասեր։ Քանի որ ստացված դասեր ունեն ընդհանուր դաշտերը եւ գործառույթները (օրինակ՝ «ծննդյան տարեթիվ»), այդ անդամները կարելի է բնութագրել, որպես բազային դաս։ Ծրագրում ստեղծվում են օբյեկտներ "շրջանավարտների» և «պրոֆեսորը» հիման վրա։ Անիմաս կլինի ստեղծել օբյեկտ «համալսարանի աշխատակից»-ի հիման վրա։
Բազմակի ժառանգում
[խմբագրել | խմբագրել կոդը]Բազմակի ժառանգման ժամանակ կլասսը կարող է ունենալ մեկից ավելի նախահայր։ Այս ժամանակ կլասսը վերցնում է բոլոր նախահայրերի մեթոդները։ Առավելությունները այս մոտեցման մեջ այն է, որ ավելի մեծ ճկունություն ունի կլասսը։ Բազմակի ժառանգումներ իրականացվում է «C++»-ում։ Ուրիշ լեզուներից, որ ունեն այդ հնարավորությունը Python-ն է[2]։ Բազմակի ժառանգում աջակցում է նաև ծրագրավորման լեզուն[3]։