სანამ OOPზე გადავიდოდეთ

იმისათვის რომ გავიაზროთ თუ რა არის ობიექტზე ორიენტირებული დაპროგრამირება, პირველ რიგში განვიხილოთ პროგრამირებაში არსებული ერთ-ერთი მნიშვნელოვანი ცნება "პროგრამირების პარადიგმები" (Programming Paradigms).

პროგრამირების პარადიგმი წარმოადგენს პროგრამირების მიდგომას/გზას/მოდელს რის მიხედვითაც ხორციელდება პროგრამირება. ის იყოფა 2 ძირითად ნაწილად იმპერატიული და დეკლარაციული პროგრამირების პარადიგმებად.

  • იმპერატიული პროგრამირება - ყურადღებას ამახვილებს იმაზე, თუ როგორ უნდა შესრულდეს პროგრამის ლოგიკა.

  • დეკლარაციული პროგრამირება - ფოკუსირებულია იმაზე, თუ რა უნდა შესრულდეს და განსაზღვრავს პროგრამის ლოგიკას, მაგრამ არა დეტალურად.

იმისათვის რომ კარგად დაინახო განსხვავება შეგიძლია შემდეგ კოდს შეავლო თვალი. აქ დაწერილია ერთიდაიგივე პროგრამა, იმპერატიული და დეკლარაციული მიდგომით.


//  პროგრამის იდეა საკმაოდ მარტივია, ფუქნციას გადავცემთ მასივს და მან უნდა
//  დაგვიბრუნოს ახალი მასივი სადაც თითოეული ელემენტი გამრავლებულია 2-ზე

// --------------------------------------------------------------------
// Imperative Paradigm
// გამახვილებულია ყურადღება თუ როგორ უნდა შერსულდეს ლოგიკა
// --------------------------------------------------------------------
function double(arr) {
    let rs = [];
    for (let i = 0; i < arr.length; i++) {
        rs.push(arr[i] * 2);
    }
    return rs;
}
double([2, 3, 4]); // [4, 6, 8]

// --------------------------------------------------------------------
// Declarative Paradigm
// ფოკუსირებული იმაზე თუ "რა" შესრულდეს და არა "როგორ"
// --------------------------------------------------------------------
function double(arr) {
    return arr.map(element => element * 2);
}

double([2, 3, 4]); // [4, 6, 8]

ასევე კიდევ ერთი მაგალითსთვის შეგიძლია შემდეგ 2 წუთიან ვიდეოსაც გადახედოთ.

📚 OOP და პროგრამირების პარადიგმები

ობიექტზე ორიენტირებული დაპროგრამირება (OOP) პროგრამირების პარადიგმების ანუ მიდგომების კონკრეტულად კი იმპერატიული მიდგომის ერთ-ერთი სახეა.

ვინაიდან უკვე შეგექმნა გარკვეული წარმოდგენა OOP-ს შესახებ, დროა განვიხილოთ ამ მიდგომის ძირითადი მახასიათებელი თვისებები, რა უპირატესობებს გვთავაზობს ის და როგორ დავწეროთ კოდი ობიექტზე ორიენტირებული მიდგომით. ამ ყველაფერს კი სტატიის შემდგომ გვერდებზე გაეცნობი.

👇 ამ სტატიაში

  • გაიგებ თუ რა არის OOP და რა დადებითი მხარეები გააჩნია.

  • გაეცნობი მის პრაქტიკულ მხარეს, რომელთანაც უკვე არაერთხელ გქონია შეხება.

  • თეორიულ მხარეს კი გაიგებ რა არის ის 4 ძირითადი კონცეფცია რომელსაც ობიექტზე ორიენტირებული პროგრამირება ეყრდნობა.

Last updated