Կառուցվածքային ծրագրավորում ընդդեմ օբյեկտ կողմնորոշված ծրագրավորման
Օբյեկտ ուղղված ծրագրավորումը (OOP) և կառուցվածքային ծրագրավորումը ծրագրավորման երկու պարադիգմներ են: Ծրագրավորման պարադիգմը համակարգչային ծրագրավորման հիմնարար ոճն է: Ծրագրավորման պարադիգմները տարբերվում են նրանով, թե ինչպես է ներկայացված ծրագրի յուրաքանչյուր տարրը և ինչպես են սահմանվում խնդիրների լուծման քայլերը: Ինչպես անունն է հուշում, OOP-ը կենտրոնանում է իրական աշխարհի օբյեկտների և դրանց վարքագծի օգտագործմամբ խնդիրների ներկայացման վրա, մինչդեռ Structured Programming-ը զբաղվում է ծրագիրը տրամաբանական կառուցվածքով կազմակերպելու հետ:
Ի՞նչ է կառուցվածքային ծրագրավորումը:
Ենթադրվում է, որ Կառուցվածքային ծրագրավորման ծննդյան տարեթիվը 1970 թվականն է: Կառուցվածքային ծրագրավորումը համարվում է հրամայական ծրագրավորման ենթաբազմություն: Կառուցված ծրագիրը կազմված է ծրագրային հոսքի պարզ կառուցվածքներից, որոնք դասավորված են հիերարխիկորեն: Դրանք հաջորդականություն են, ընտրություն և կրկնություն: Հերթականությունը հայտարարությունների հերթականությունն է: Ընտրություն նշանակում է հայտարարությունների մի շարքից ընտրել՝ հիմնված ծրագրի ընթացիկ վիճակի վրա (օրինակ՝ if դրույթների օգտագործումը), իսկ կրկնությունը նշանակում է հայտարարություն կատարել մինչև որոշակի վիճակի հասնելը (օրինակ՝ for or while հայտարարությունների օգտագործումը): ALGOL-ը, Pascal-ը, Ada-ն և PL/I-ն այսօր օգտագործվող կառուցվածքային ծրագրավորման լեզուներից են:
Ի՞նչ է օբյեկտ կողմնորոշված ծրագրավորումը:
OOP-ում ուշադրությունը կենտրոնանում է իրական աշխարհի տարրերի տեսանկյունից լուծվելիք խնդրի մասին մտածելու և խնդիրը առարկաների և դրանց վարքագծի տեսանկյունից ներկայացնելու վրա: Դասերը պատկերում են իրական աշխարհի օբյեկտների վերացական պատկերները: Դասերը նման են գծագրերի կամ ձևանմուշների, որոնք հավաքում են նմանատիպ իրեր կամ բաներ, որոնք կարող են խմբավորվել միասին:Դասերն ունեն հատկություններ, որոնք կոչվում են ատրիբուտներ: Հատկանիշներն իրականացվում են որպես գլոբալ և օրինակելի փոփոխականներ: Դասերի մեթոդները ներկայացնում կամ սահմանում են այս դասերի վարքագիծը: Դասերի մեթոդները և ատրիբուտները կոչվում են դասի անդամներ: Դասի օրինակը կոչվում է օբյեկտ։ Հետևաբար, օբյեկտը տվյալների կառուցվածք է, որը շատ նման է իրական աշխարհի որոշ օբյեկտների:
Կան մի քանի կարևոր OOP հասկացություններ, ինչպիսիք են Տվյալների վերացումը, Էկապսուլյացիան, Պոլիմորֆիզմը, Հաղորդագրությունների փոխանակումը, մոդուլյարությունը և ժառանգականությունը: Սովորաբար, ինկապսուլյացիան ձեռք է բերվում ատրիբուտները մասնավոր դարձնելով, միաժամանակ ստեղծելով հանրային մեթոդներ, որոնք կարող են օգտագործվել այդ ատրիբուտները մուտք գործելու համար: Ժառանգությունը թույլ է տալիս օգտվողին ընդլայնել դասերը (կոչվում են ենթադասեր) այլ դասերից (կոչվում են սուպեր դասեր): Պոլիմորֆիզմը թույլ է տալիս ծրագրավորողին փոխարինել դասի առարկան իր սուպեր դասի օբյեկտի փոխարեն: Որպես կանոն, խնդրի սահմանման մեջ հայտնաբերված գոյականներն ուղղակիորեն դառնում են դասեր ծրագրում: Եվ նմանապես, բայերը դառնում են մեթոդներ:OOP-ի ամենատարածված լեզուներից են Java-ն և C-ը:
Ո՞րն է տարբերությունը կառուցվածքային ծրագրավորման և օբյեկտի վրա հիմնված ծրագրավորման միջև:
Կառուցվածքային ծրագրավորման և OOP-ի հիմնական տարբերությունն այն է, որ Կառուցվածքային ծրագրավորման հիմնական նպատակն է ծրագրի կառուցվածքը ենթածրագրերի հիերարխիայի մեջ, մինչդեռ OOP-ի նպատակը ծրագրավորման առաջադրանքը բաժանելն է օբյեկտների մեջ, որոնք ներառում են: տվյալներ և մեթոդներ: OOP-ը համարվում է ավելի ճկուն, քան կառուցվածքային ծրագրավորումը, քանի որ OOP-ը ծրագիրն առանձնացնում է ենթահամակարգերի ցանցի մեջ, այլ ոչ թե ծրագիրը կառուցվածքավորում է հիերարխիայի մեջ: Թեև կառուցվածքավորումն ապահովում է որոշակի հստակություն, շատ մեծ կառուցվածքային ծրագրի փոքր փոփոխությունը կարող է առաջացնել բազմաթիվ ենթածրագրեր փոխելու ալիքային էֆեկտ: