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 temel | POP | OOP |
---|---|---|
Temel | Prosedür / Yapı odaklı. | Nesne odaklı. |
yaklaşım | Yukarıdan aşağıya. | Altüst. |
temel | Ana 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ünme | Büyük program, fonksiyon denilen birime bölünmüştür. | Tüm program nesnelere ayrılmıştır. |
Varlık erişim modu | Erişim belirticisi yok. | Erişim belirteci "genel", "özel", "korumalı" dır. |
Aşırı yükleme / Polimorfizm | Ne aşırı fonksiyonlar ne de operatörler. | İşlevleri, yapıcıları ve operatörleri aşırı yüklüyor. |
miras | Onların miras hakkı yoktur. | Kalıtım üç modda kamuya açık ve korumalı olarak korunmuştur. |
Veri gizleme ve güvenlik | Verileri 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şlev | Sanal sınıf kavramı yok. | Kalıtım sırasında sanal fonksiyon kavramı ortaya çıkar. |
Örnek | C, VB, FORTRAN, Pascal | C ++, 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
- POP, yordam yönelimli bir programlama iken, OOP nesne yönelimli bir programlamadır.
- 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.
- İş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.
- 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. .
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.