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

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

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

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

Video: Տարբերությունը վերացական դասի և ժառանգության միջև
Video: Ո՞վ է QA ինժիները, նրա առաքելությունը | QA ինժիների և ծրագրային ապահովման ինժիների տարբերությունները 2024, Հուլիսի
Anonim

Վերացական դաս ընդդեմ ժառանգության

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

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

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

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

Ի՞նչ է ժառանգությունը:

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

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

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

Հարակից գրառումներ՝

Image
Image
Image
Image

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

Image
Image
Image
Image

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

Image
Image
Image
Image

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

Image
Image
Image
Image

Տարբերություն ներդրման և ընդարձակման միջև

Image
Image
Image
Image

Տարբերություն գրաֆիկի և ծառի միջև

Պատկերված՝ Ծրագրավորում Պիտակված է՝ ABC, վերացական, վերացական բազային դասեր, վերացական դաս, վերացական դասեր, վերացական հիմնաբառ, վերացական մեթոդներ, կոնկրետ դաս, ընդլայնում է հիմնաբառը, ժառանգություն, ժառանգության դաս, ժառանգված դաս, Java, բազմակի ժառանգություն, օբյեկտ կողմնորոշված հասկացություններ, կանոնավոր դաս, սուպեր դաս

Պատկեր
Պատկեր

Հեղինակի մասին՝ Indika

Indika, BSc. Eng, MSECE Համակարգչային ճարտարագիտություն, բ.գ.թ. Համակարգչային գիտություն, ասիստենտ է և ունի հետազոտական հետաքրքրություններ կենսաինֆորմատիկայի, հաշվողական կենսաբանության և կենսաբժշկական բնական լեզվի մշակման ոլորտներում:

մեկնաբանություն

  1. Պատկեր
    Պատկեր

    Ջեյսոնն ասում է

    օգոստոսի 30, 2017, ժամը 13:25

    Շնորհակալություն տարբերությունը բացատրելու համար: Իմ բոլոր հարցերը լուծվել են դրանով։

    Պատասխանել

  2. Պատկեր
    Պատկեր

    Աուս ասում է

    մայիսի 10, 2019, ժամը 15:04

    Լավագույն պատասխանը համացանցում, Ուսուցիչը չի բացատրում այս բաները և անիմաստ է, մոնոտոն mf: Ահա թե ինչպես եք բացատրում հասկացությունները:

    Պատասխանել

Պատասխան թողնել Չեղարկել պատասխանը

Ձեր էլ. հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են

Մեկնաբանություն

Անուն

Էլփոստ

Կայք

Հարցման հոդված
Հարցման հոդված
Հարցման հոդված
Հարցման հոդված

Նշված գրառումներ

Տարբերությունը կորոնավիրուսի և մրսածության ախտանիշների միջև
Տարբերությունը կորոնավիրուսի և մրսածության ախտանիշների միջև

Տարբերությունը կորոնավիրուսի և մրսածության ախտանիշների միջև

Տարբերությունը Coronavirus-ի և SARS-ի միջև
Տարբերությունը Coronavirus-ի և SARS-ի միջև

Տարբերությունը Coronavirus-ի և SARS-ի միջև

Տարբերությունը կորոնավիրուսի և գրիպի միջև
Տարբերությունը կորոնավիրուսի և գրիպի միջև

Տարբերությունը կորոնավիրուսի և գրիպի միջև

Տարբերությունը Coronavirus-ի և Covid 19-ի միջև
Տարբերությունը Coronavirus-ի և Covid 19-ի միջև

Տարբերությունը Coronavirus-ի և Covid 19-ի միջև

Դուք կարող եք հավանել

Տարբերությունը սիբիրյան խասկիի և մալամուտի միջև

Տարբերություն AB-ի և BC հաշվարկի միջև

Տարբերությունը կրկնակի հիմնական և կրկնակի աստիճանի միջև

Տարբերությունը բաց վերնաշապիկների և մուգ վերնաշապիկների փոխանցման թղթի միջև

-ի միջև

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