Obyekt yönümlü proqramlaşdırma vs prosedur proqramlaşdırma
Obyekt yönümlü proqramlaşdırma (OOP) və prosedur proqramlaşdırma iki proqramlaşdırma paradiqmasıdır. Proqramlaşdırma paradiqması kompüter proqramlaşdırmasının əsas üslubudur və onlar proqramın müxtəlif elementlərinin təsviri və problemlərin həlli addımlarının necə müəyyən edilməsi ilə fərqlənirlər. Adından da göründüyü kimi, OOP, real dünya obyektlərindən və onların davranışından istifadə edərək problemləri təmsil etməyə diqqət yetirir, Prosedur Proqramlaşdırma isə müəyyən bir qaydada işləyən kod kolleksiyaları olan prosedurlardan istifadə edərək problemlərin həlli ilə məşğul olur. OOP (OOP dilləri adlanır), Prosedural (Prosedur dilləri adlanır) və hər ikisinin əsas aspektlərini dəstəkləyən proqramlaşdırma dilləri var. Ancaq qeyd edilməli vacib bir şey odur ki, OOP və Prosedur həll edilməli olan problemləri təmsil etməyin iki yoludur və hansı dildən istifadə olunmasının əhəmiyyəti yoxdur. Başqa sözlə, OOP dilləri Prosedur Proqramlaşdırması üçün istifadə oluna bilər, Prosedur dilləri isə bəzi səylərlə OOP üçün istifadə oluna bilər.
Prosedural Proqramlaşdırma müəyyən bir problemi həll etmək üçün addımlar toplusunu və istənilən nəticəyə və ya vəziyyətə çatmaq üçün icra edilməli olan dəqiq sıranı müəyyən etməklə proqramlaşdırma üsuludur. Məsələn, bir bank hesabı üçün ayın sonuna qalıq hesablamaq istəyirsinizsə, tələb olunan addımlar aşağıdakı kimi olacaq. Əvvəlcə hesabın başlanğıc balansını əldə edirsiniz və sonra ay ərzində baş vermiş bütün debet məbləğlərini azaldırsınız. Bundan sonra ay ərzində baş vermiş bütün kredit məbləğlərini əlavə edirsiniz. Prosesin sonunda siz hesabın ay sonu bağlanış balansını alacaqsınız. Prosedur proqramlaşdırmasının əsas anlayışlarından biri Prosedur çağırışıdır. Alt proqram, metod və ya funksiya kimi də tanınan prosedur yerinə yetiriləcək təlimatların ardıcıl siyahısını ehtiva edir. Prosedura icra zamanı istənilən vaxt istənilən başqa prosedurla və ya özü tərəfindən çağırıla bilər. Prosedur proqramlaşdırma dillərinə misal olaraq C və Paskaldır.
OOP-da diqqət real dünya elementləri baxımından həll edilməli olan problem haqqında düşünməyə və problemi obyektlər və onların davranışları baxımından təmsil etməyə yönəldilib. Obyekt bəzi real dünya obyektinə yaxından bənzəyən məlumat strukturudur. Obyektlər real dünya obyektlərinin atributlarını və davranışlarını təmsil edən məlumat sahələrini və metodlarını ehtiva edir. Data abstraksiya, Enkapsulyasiya, Polimorfizm, Mesajlaşma, Modulyarlıq və Varislik kimi bir neçə vacib OOP anlayışı var. Bəzi məşhur OOP dilləri Java və C-dır. Bununla belə, onlar həmçinin Prosedur Proqramını yerinə yetirmək üçün istifadə edilə bilər.
OOP ilə Prosedur Proqramlaşdırma arasındakı əsas fərq ondan ibarətdir ki, Prosedur Proqramlaşdırmasının diqqəti proqramlaşdırma tapşırığını dəyişənlər və alt proqramlar toplusuna bölməkdir, OOP-un diqqəti isə proqramlaşdırma tapşırığını aşağıdakılara bölməkdir. məlumat və metodları əhatə edən obyektlər. Ən diqqətəlayiq fərq ondan ibarətdir ki, Prosedur Proqramlaşdırması birbaşa məlumat strukturları üzərində işləmək üçün prosedurlardan istifadə etdiyi halda, OOP verilənləri və metodları birləşdirəcək ki, obyekt öz verilənləri üzərində işləsin. Prosedur proqramlaşdırmasında nomenklatura, prosedur, modul, prosedur çağırışı və dəyişən adətən OOP-da müvafiq olaraq metod, obyekt, mesaj və atribut kimi istinad edilir.