OOP ve POP Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 2 Nisan 2021
Güncelleme Tarihi: 5 Mayıs Ayı 2024
Anonim
Object Oriented Programming (OOP) Nedir?
Video: Object Oriented Programming (OOP) Nedir?

İçerik


Prosedür odaklı Programlama (POP) ve Nesneye yönelik programlama (OOP) Her ikisi de programlama için üst seviye dil kullanan programlama yaklaşımlarıdır. Her iki dilde de bir program yazılabilir, ancak görev oldukça karmaşıksa, OOP, POP ile karşılaştırıldığında iyi çalışır. POP'da, veriler programda serbestçe hareket ettikçe ‘veri güvenliği’ riski altındadır, ayrıca programlamayı uzun ve anlaşılması güç kılan ‘kod yeniden kullanılabilirliği’ elde edilemez.

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 programlamada öncelikli endişe ‘veri güvenliği‘; verileri, üzerinde çalışan fonksiyonlara yakından bağlar. Ayrıca, ‘sorununu da çözeryeniden kullanılabilirlik koduBir sınıf oluşturulmuş gibi, bir sınıf tarafından tanımlanan üyeleri ve üye işlevlerini yeniden kullanan birden fazla örneği (nesne) oluşturulabilir.


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

    1. Karşılaştırma Tablosu
    2. Tanım
    3. Anahtar Farklılıklar
    4. Avantajları
    5. Dezavantajları
    6. Sonuç


Karşılaştırma Tablosu

Karşılaştırma için temelPOPOOP
Temel
Prosedür / Yapı odaklı.
Nesne odaklı.
Yaklaşmak, yanaşmak, yaklaşım Yukarı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 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 veri 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.
Örnek C, VB, FORTRAN, PascalC ++, JAVA, VB.NET, C # .NET.


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

OOP’un ana 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 etkileşime girerler.

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 işlevler bölümlere ayrılarak modüllere ayrılabilir. Bu nedenle, veri ve fonksiyonlar için bölümlendirilmiş bir hafıza alanı oluşturarak programları modülerleştirmeyi kolaylaştıran bir yaklaşımdır.

Nesneye Dayalı Kavramlar

  • Nesneler: Bir sınıf sınıfı değişkeni ve bir sınıf örneği olarak kabul edilir.
  • Sınıf: Benzer türde bir nesne kümesidir. Tam bir veri kümesi ve bir nesnenin kodu, bir sınıf kullanarak kullanıcı tanımlı bir veri türü oluşturur.
  • Veri soyutlama ve kapsülleme: Soyutlama, arka plan detaylarını gizleme ve temel özellikleri temsil etme yönteminden başka bir şey değildir. Kapsülleme, verilerin paketlenmesi için bir yöntemdir ve tek bir ünitede işlev görür.
  • mirasKalıtım, bir sınıftan diğer sınıf nesnelerine nesnelerin özelliklerini alma tekniğidir. Başka bir deyişle, mevcut olandan yeni bir sınıf elde edilmesine yardımcı olur.
  • Polimorfizm: Polimorfizm, tek bir işlev adı kullanarak bir işlevin birden çok formunu oluşturma yöntemi sağlar.
  • Dinamik bağlama: Belirli bir prosedürle ilişkili kodun, çalışma anındaki çağrı anına kadar bilinmediğini belirtir.
  • geçen: Bu OOP konsepti, bilgi alıp ileterek farklı sınıflar arasındaki etkileşimi sağlar.

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 kapsamlı ise, küresel verileri paylaşan, fonksiyon denilen bazı küçük birimler halinde yapılandırılmıştır. Burada, fonksiyonlarda programda istemeden bir değişiklik olduğu için veri güvenliği endişesi ortaya çıkmaktadır.

POP özellikleri

  • Bir program tasarlarken, POP yukarıdan aşağıya bir programlama yaklaşımı izler.
  • Fonksiyonların çoğunluğu global verilerin paylaşılmasına izin verir.
  • Ayrıca, daha büyük programları işlev olarak adlandırılan daha küçük parçalara böler.
  • Fonksiyonlarda fonksiyonlara sistem içerisinde serbest bir veri hareketi sağlar.
  • Veri, fonksiyonlar tarafından bir formdan diğerine dönüştürülür.
  • Fonksiyon kavramına önem verir.
  1. POP, yordam yönelimli programlama, OOP ise nesne yönelimli programlamadır.
  2. POP'un ana odak noktası “görev nasıl yapılır“Görevin tamamlanması için akış şemasını takip ediyor. OOP’in ana odağı açık veri güvenliği çünkü bir sınıfın nesnelerinin bir sınıfın niteliklerine veya işlevine erişmesine izin verilir.
  3. fonksiyonlar bunlar ana programın yerine getirilmesi için yürütülen büyük programların küçük birimleri veya alt programlardır. Buna karşılık, sınıfın OOP özellikleri ve işlevleri sınıflar arasında bölünmüştür. nesneleri.
  4. POP'da, programdaki özniteliklere veya işlevlere erişmek için belirli bir erişim modu yoktur. Tersine, OOP'de niteliklere veya işlevlere erişmek için bir erişim yöntemi olarak kullanılan “genel”, “özel”, “korumalı” üç erişim modu vardır.
  5. POP, Aşırı Yüklenme / polimorfizm kavramını desteklememektedir. Aksine, 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'de erişim belirteci, güvenliği artıran özelliklere veya işlevlere erişimi sınırlar.
  8. POP'da, 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 fonksiyonları üzerinden erişilebilir.
  9. POP'da arkadaşlık fonksiyonu kavramı yoktur. Buna karşılık olarak, OOP'da sınıfın üyesi olmayan bir arkadaş işlevi kavramı vardır, ancak arkadaşın ü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'da sanal fonksiyonlar polimorfizmi destekler.

Avantajları

POP (Prosedür Odaklı Programlama)

  • Aynı kodu çeşitli yerlerde yeniden kullanma yeteneği sağlar.
  • Program akışını takip etmeyi kolaylaştırır.
  • Modül inşa edebilme.

OOP (Nesneye Dayalı Programlama)

  • Nesneler, projede görev bölümlemede yardımcı olur.
  • Veri gizleme kullanılarak güvenli programlar oluşturulabilir.
  • Nesneleri potansiyel olarak haritalandırabilir.
  • Nesnelerin çeşitli sınıflara ayrılmasını sağlar.
  • Nesneye yönelik sistemler zahmetsizce yükseltilebilir.
  • Miras kodu kullanılarak artık kodlar elimine edilebilir.
  • Kodlar tekrar kullanılabilirlik kullanılarak genişletilebilir.
  • Daha fazla modülerlik elde edilebilir.
  • Veri soyutlama güvenilirliği arttırır.
  • Dinamik ciltleme konsepti sayesinde esnektir.
  • Bilgi gizleme özelliğini kullanarak temel özellikleri uygulamadan ayırır.

Dezavantajları

POP (Prosedür Odaklı Programlama

  • Global veri savunmasızdır.
  • Veriler bir program içinde serbestçe hareket edebilir
  • Veri pozisyonunu doğrulamak zordur.
  • İşlevler eylem odaklı.
  • İşlevler, problemin unsurlarıyla ilişkilendirilemez.
  • Gerçek dünyadaki problemler modellenemez.
  • Kodun bölümleri birbirine bağlıdır.
  • Bir uygulama kodu diğer uygulamalarda kullanılamaz.
  • Veriler, fonksiyonlar kullanılarak aktarılır.

OOP (Nesneye Dayalı Programlama)

  • Daha fazla kaynak gerektirir.
  • Nesnelerin dinamik davranışı RAM saklama gerektirir.
  • Geçiş yapıldığında karmaşık uygulamalarda algılama ve hata ayıklama daha zordur.
  • Kalıtım, sınıflarını sıkı sıkıya bağlı tutar, bu da nesnelerin tekrar kullanılabilirliğini etkiler.

Sonuç

POP'un kusurları OOP'a duyulan ihtiyacı doğurmaktadır. OOP, “nesne” ve “sınıflar” kavramını sunarak POP'un kusurlarını düzeltir. Veri güvenliğini ve nesnelerin otomatik başlatılmasını ve temizlenmesini arttırır. OOP, herhangi bir müdahale olmadan nesnenin birden fazla örneğini oluşturmayı mümkün kılar.