Tavsiye, 2024

Editörün Seçimi

OOP ve POP Arasındaki Fark

Prosedür odaklı Programlama (POP) ve Nesne yönelimli programlama (OOP) her ikisi de programlama için yüksek seviyeli dil kullanan programlama yaklaşımlarıdır. Bir Program her iki dilde de yazılabilir, ancak görev oldukça karmaşıksa, OOP çalışır POP ile karşılaştırıldığında. POP'da, veriler programda serbestçe hareket ettikçe 'veri güvenliği' risk altındadır, ayrıca programlamayı uzun ve anlaşılması güç kılan 'kod yeniden kullanılabilirliği' sağlanamamıştır. Büyük programlar daha fazla hataya yol açar ve hata ayıklama süresini artırır. Tüm bu kusurlar “nesne yönelimli programlama” olarak adlandırılan yeni bir yaklaşıma yol açar. Nesne yönelimli programlamanın temel kaygısı 'veri güvenliği'; Verileri, üzerinde çalışan fonksiyonlara yakından bağlar. Ayrıca, bir sınıf oluşturulmuş gibi, bir sınıf tarafından tanımlanan üyeleri ve üye işlevlerini yeniden kullanan çoklu örnekleri (nesneler) oluşturulabileceği gibi, 'kod yeniden kullanılabilirliği' sorununu da çözer.

Karşılaştırma tablosu yardımıyla açıklanabilecek başka bazı farklılıklar vardır.


Karşılaştırma Tablosu
Karşılaştırma için temelPOPOOP
Temel
Prosedür / Yapı odaklı.
Nesne odaklı.
yaklaşımYukarıdan aşağıya.Altüst.
temelAna odak noktası "görevin nasıl yapılacağı", yani bir programın prosedürü veya yapısıdır.Ana odak noktası 'veri güvenliği'. Bu nedenle, bir sınıfın varlıklarına yalnızca nesnelere izin verilir.
BölünmeBüyük program, fonksiyon denilen birime bölünmüştür.Tüm program nesnelere ayrılmıştır.
Varlık erişim moduErişim belirticisi yok.
Erişim belirteci "genel", "özel", "korumalı" dır.
Aşırı yükleme / PolimorfizmNe aşırı fonksiyonlar ne de operatörler.İşlevleri, yapıcıları ve operatörleri aşırı yüklüyor.
mirasOnların miras hakkı yoktur.Kalıtım üç modda kamuya açık ve korumalı olarak korunmuştur.
Veri gizleme ve güvenlikVerileri gizlemenin uygun bir yolu yoktur, bu nedenle veriler güvensizdir.Veriler genel, özel ve korumalı üç modda gizlenir. dolayısıyla veri güvenliği artar.
Bilgi paylaşımıGlobal veriler programdaki fonksiyonlar arasında paylaşılmaktadır.Veriler, üye işlevleriyle nesneler arasında paylaşılır.
Arkadaş fonksiyonları / sınıflarıArkadaş fonksiyonu kavramı yok.Sınıflar veya işlev "arkadaş" anahtar kelimesiyle başka bir sınıfın arkadaşı olabilir.
Not: "arkadaş" anahtar sözcüğü yalnızca c ++ dilinde kullanılır
Sanal sınıflar / işlevSanal sınıf kavramı yok.Kalıtım sırasında sanal fonksiyon kavramı ortaya çıkar.
ÖrnekC, VB, FORTRAN, PascalC ++, JAVA, VB.NET, C # .NET.

Nesne yönelimli programlamanın tanımı (OOP)

OOP'un temel kaygısı, verileri “kritik bilgi” gibi gördüğü bir sınıfın üye olmayan işlevlerinden gizlemektir. Veriler, üzerinde çalışan bir sınıfın üye işlevlerine yakından bağlıdır. Üye olmayan işlevlerin içindeki verileri değiştirmesine izin vermez. Nesneler, verilerine erişmek için üye işlevleriyle birbirleriyle iletişim kurarlar.

OOP, “nesne”, “sınıflar”, “veri saklama veya soyutlama”, “kalıtım” ve “Polimorfizm / aşırı yükleme” temel kavramları üzerinde geliştirilmiştir. OOP'de, programlar, gerektiğinde yeni modül kopyaları oluşturmak için şablonlar olarak da kullanılabilen veri ve fonksiyonlara bölünerek modüle ayrılabilir.

Prosedür odaklı programlama (POP) tanımı

POP, geleneksel bir programlama yöntemidir. Prosedürel programlama, öncelikli odaklamanın görevi sıralı bir şekilde yerine getirme üzerine olmasıdır. Akış çizelgesi, programın kontrol akışını düzenler. Program büyükse, küresel verileri paylaşan, işlevler adı verilen bazı küçük birimlerde yapılandırılmıştır. Burada veri güvenliği endişesi ortaya çıkmaktadır, çünkü programda işlevler tarafından kasıtsız bir değişim söz konusudur.

OOP ve POP Arasındaki Temel Farklılıklar

  1. POP, yordam yönelimli bir programlama iken, OOP nesne yönelimli bir programlamadır.
  2. POP'un ana odak noktası “görevin nasıl yerine getirileceği” üzerine odaklanmak, görevin yerine getirilmesi için akış şemasını izlemektir. OOP'ın ana odağı, bir sınıfın özelliklerine veya işlevine yalnızca bir sınıftaki nesnelere erişilmesine izin verildiğinden veri güvenliği üzerinedir.
  3. İşlevler, ana görevi yapmak için yürütülen büyük programların küçük birimleridir. OOP'da sınıfın özellikleri ve işlevleri nesneler arasında bölünmüştür.
  4. POP'da, programdaki özniteliklere veya işlevlere erişmek için belirli bir erişim modu yoktur, oysa OOP'da, özniteliklere veya işlevlere erişmek için erişim paylaşımı olarak kullanılan üç "genel", "özel", "korumalı" erişim modu vardır. .
  5. POP, Aşırı Yüklenme / polimorfizm kavramını desteklememektedir. OOP, Aşırı Yüklemeyi / Polimorfizmi destekler; bu, farklı işlevleri gerçekleştirmek için aynı işlev adını kullanmak anlamına gelir. OOP’daki işlevleri, yapıcıları ve operatörleri aşırı yükleyebiliriz.
  6. POP'da miras kavramı yoktur; oysa OOP, diğer sınıfın niteliğini ve işlevlerini miras alarak kullanmaya izin veren mirası destekler.
  7. POP, OOP ile karşılaştırıldığında daha az güvenlidir, çünkü OOP'ta erişim belirteci, güvenliği artıran özelliklere veya işlevlere erişimi sınırlar.
  8. POP'ta, bazı veriler programdaki tüm işlevler arasında paylaşılacaksa, tüm işlevlerin dışında genel olarak bildirilir. OOP'da, sınıfın veri üyelerine sınıfın üye işlevleriyle erişilebilir.
  9. POP'da arkadaş işlevi kavramı yoktur, oysa OOP'ta sınıf üyesi olmayan bir arkadaş işlevi kavramı vardır ancak arkadaş üyesi olduğu için sınıfın veri üyesi ve üye işlevlerine erişebilir.
  10. POP'da sanal sınıf kavramı yoktur, oysa OOP'ta sanal fonksiyonlar polimorfizmi destekler.

Sonuç

POP'un kusurları, OOP ihtiyacını ortaya çıkarmaktadır. OOP, “nesne” ve “sınıflar” kavramını sunarak POP'un kusurlarını düzeltir. Veri güvenliğini ve nesnelerin otomatik olarak başlatılmasını ve temizlenmesini sağlar. OOP, herhangi bir girişim olmadan nesnenin birden fazla örneğini oluşturmayı mümkün kılar.

Top