Her ikisi de programlama süreçleridir, OOP ise “Nesneye Yönelik Programlama” ve POP ise “Prosedüre Yönelik Programlama” anlamına gelir. Her ikisi de bir sorunu çözmek için yüksek düzeyli programlama kullanan ancak farklı yaklaşımlar kullanan programlama dilleri. Teknik açıdan bu yaklaşımlar programlama paradigmaları olarak bilinir. Bir programcı, bir programı yazmak için farklı yaklaşımlar kullanabilir çünkü belirli bir sorunu çözmek için doğrudan bir yaklaşım yoktur. Bu, programlama dillerinin resme geldiği yerdir. Bir program, sorunu doğru yaklaşımı kullanarak çözmeyi kolaylaştırır ya da 'paradigma' diyebilirsiniz. Nesne yönelimli programlama ve prosedür yönelimli programlama bu tür iki paradigmadır.
OOP, bir programın nesne yönelimli model kullanılarak nesneler adı verilen küçük parçalara ayrıldığı yüksek düzeyli bir programlama dilidir, dolayısıyla adı. Bu paradigma, nesnelere ve sınıflara dayanmaktadır.
OOP paradigması, bir programı nesneler içinde bir araya getirilen verilere ve işlevlere bölerek modül oluşturma algoritması yerine verilere bakar. Yeni bir nesne eklendiğinde modüller değiştirilemez ve üye olmayan herhangi bir işleve verilere erişimi kısıtlar. Verileri değerlendirmenin tek yolu yöntemler.
Nesneler aynı üye işlevleri aracılığıyla birbirleriyle iletişim kurabilir. Bu işleme mesaj iletme denir. Nesneler arasındaki bu anonimlik, programı güvenli kılan şeydir. Bir programcı, özelliklerinin çoğunu alarak mevcut nesnelerden yeni bir nesne oluşturabilir, böylece programın uygulanmasını ve değiştirilmesini kolaylaştırır.
POP, bir görevi bir dizi talimatla değişkenler ve rutinler (veya alt rutinler) koleksiyonuna bölmek için adım adım yaklaşımı izler. Her adım, bir bilgisayarın ne yapacağını anlayabilmesi için sistematik bir şekilde gerçekleştirilir. Program, fonksiyonlar adı verilen küçük parçalara ayrılmıştır ve daha sonra sırayla gerçekleştirilecek bir dizi hesaplama adımını takip eder..
Bir sorunu, dolayısıyla adı gerçekten çözmek için yukarıdan aşağıya bir yaklaşımı izler. Prosedürler fonksiyonlara karşılık gelir ve her fonksiyonun kendi amacı vardır. Programın fonksiyonlara bölünmesi prosedürel programlamanın anahtarıdır. Böylece görevleri yerine getirmek için bir dizi farklı fonksiyon yazılır..
Başlangıçta, tüm bilgisayar programları prosedüreldir veya diyelim ki ilk aşamada. Bu nedenle, bilgisayarı bir koddan diğerine nasıl taşıyacağınız ve böylece görevi gerçekleştirme konusunda bir dizi talimatla beslemeniz gerekir. İşlevlerin çoğu global verileri paylaştıkça, sistemden bağımsız olarak işlevden işleve hareket ederler, böylece programı savunmasız hale getirir. Bu temel kusurlar, daha güvenli olan nesne yönelimli programlama kavramına yol açtı..
OOP, Nesne yönelimli programlama anlamına gelir ve algoritma yerine verilere odaklanan bir programlama yaklaşımıdır, oysa Prosedür yönelimli programlamanın kısaltması olan POP prosedürel soyutlamalara odaklanır.
OOP'de, program sınıf örneği olan nesneler olarak adlandırılan küçük parçalara ayrılırken, POP'da ana program işlevlere göre küçük parçalara ayrılır..
Özelliklere veya işlevlere erişmek için OOP'de üç erişim modu kullanılır - 'Özel', 'Genel' ve 'Korumalı'. Diğer yandan POP'da, belirli bir programın niteliklerine veya işlevlerine erişmek için böyle bir erişim moduna gerek yoktur.
Odak noktası, POP programın işlevlerine veya algoritmalarına dayanırken, OOP durumunda programla ilişkili verilerdir..
OOP'de, çeşitli işlevler eşzamanlı olarak çalışabilirken POP, yöntemleri ve işlevleri yürütmek için sistematik bir adım adım yaklaşımı izler.
OOP'de, bir nesnenin verileri ve işlevleri tek bir varlık gibi davranır, bu nedenle erişilebilirlik aynı sınıfın üye işlevleriyle sınırlıdır. POP'da ise, her işlev farklı veriler içerdiğinden veriler serbestçe hareket edebilir.
Aynı sınıfın üye işlevine veri erişimini sınırlayan veri gizleme özelliği sayesinde OOP, POP'dan daha güvenlidir, ancak POP'da böyle bir veri gizleme yolu yoktur, böylece daha az güvenli hale gelir.
Yeni veri nesneleri mevcut nesnelerden kolayca oluşturulabilir ve nesne yönelimli programların değiştirilmesini kolaylaştırır, en azından tüm programı revize etmeden POP'a veri eklemek için basit bir işlem yoktur..
OOP bir program tasarlamak için aşağıdan yukarıya yaklaşırken, POP bir program tasarlamak için yukarıdan aşağıya bir yaklaşım benimser.
Yaygın olarak kullanılan OOP dilleri C ++, Java, VB.NET vb. Dir. Pascal ve Fortran POP tarafından kullanılır.
OOP | POP |
OOP, bir program tasarlarken aşağıdan yukarıya bir yaklaşım benimser. | POP yukarıdan aşağıya bir yaklaşımı izler. |
Program soruna bağlı olarak nesnelere ayrılmıştır. | Program, fonksiyonlara dayalı olarak küçük parçalara ayrılmıştır. |
Her nesne kendi verilerini kontrol eder. | Her işlev farklı veriler içerir. |
Algoritma ne olursa olsun verilerin güvenliğine odaklanır. | Sorunu çözmek için sistematik bir yaklaşım izler. |
Ana öncelik, bir programdaki işlevler yerine verilerdir. | Fonksiyonlar bir programdaki verilerden daha önemlidir. |
Nesnelerin işlevleri mesaj iletme yoluyla bağlanır. | Bir programın farklı bölümleri parametre geçişi ile birbirine bağlanır. |
OOP'da veri gizleme mümkündür. | Veri gizlemek için kolay bir yol yok. |
OOP'da kalıtıma izin verilir. | POP'da böyle bir miras kavramı yok. |
Operatör aşırı yüklenmesine izin verilir. | Operatör aşırı yüklenmesine izin verilmiyor. |
C ++, Java. | Pascal, Fortran. |