სხვაობა სტრუქტურირებულ პროგრამირებასა და ობიექტზე ორიენტირებულ პროგრამირებას შორის

სხვაობა სტრუქტურირებულ პროგრამირებასა და ობიექტზე ორიენტირებულ პროგრამირებას შორის
სხვაობა სტრუქტურირებულ პროგრამირებასა და ობიექტზე ორიენტირებულ პროგრამირებას შორის

ვიდეო: სხვაობა სტრუქტურირებულ პროგრამირებასა და ობიექტზე ორიენტირებულ პროგრამირებას შორის

ვიდეო: სხვაობა სტრუქტურირებულ პროგრამირებასა და ობიექტზე ორიენტირებულ პროგრამირებას შორის
ვიდეო: Xiaomi Smart Speaker - ჭკვიანი დინამიკის გლობალური ვერსია, Ok Google! Home Assistant 2024, ნოემბერი
Anonim

სტრუქტურირებული პროგრამირება ობიექტზე ორიენტირებული პროგრამირების წინააღმდეგ

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

რა არის სტრუქტურირებული პროგრამირება?

ვარაუდობენ, რომ სტრუქტურული პროგრამირების დაბადების წელია 1970. სტრუქტურირებული პროგრამირება განიხილება იმპერატიული პროგრამირების ქვეჯგუფად. სტრუქტურირებული პროგრამა შედგება მარტივი პროგრამის ნაკადის სტრუქტურებისგან, რომლებიც იერარქიულად არის ორგანიზებული. ეს არის თანმიმდევრობა, შერჩევა და გამეორება. თანმიმდევრობა არის განცხადებების თანმიმდევრობა. შერჩევა ნიშნავს განაცხადის არჩევას განცხადებების სიმრავლიდან პროგრამის მიმდინარე მდგომარეობიდან გამომდინარე (მაგ., if განცხადებების გამოყენება) და გამეორება ნიშნავს განცხადების შესრულებას გარკვეულ მდგომარეობამდე (მაგ. for ან while განცხადებების გამოყენება). ALGOL, Pascal, Ada და PL/I არის ზოგიერთი სტრუქტურირებული პროგრამირების ენა, რომელიც გამოიყენება დღეს.

რა არის ობიექტზე ორიენტირებული პროგრამირება?

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

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

რა განსხვავებაა სტრუქტურირებულ პროგრამირებასა და ობიექტზე ორიენტირებულ პროგრამირებას შორის?

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

გირჩევთ: