Tavsiye, 2024

Editörün Seçimi

C ++ ile Özel ve Korumalı arasındaki fark

Verileri gizlemek için C ++ programlama dilinde tanımlanmış üç tür erişim koruması vardır. Veri gizleme, nesne yönelimli programlamanın önemli bir parçasıdır. Özel ve korumalı anahtar kelimeler, bir sınıf içindeki verileri ve işlevleri gizlemek için erişim koruma düzeyi sunar. Özel üyeler miras alınmazken, korunan üye miraslı ancak sınırlı bir aralıkta olabilir. Bu belirticiler, özel kişilerin korunanlardan daha kısıtlayıcı olduğu üyelerin görünürlüğünü gösterir.

Karşılaştırma Tablosu

Karşılaştırma için temelÖzelkorumalı
Türetilmiş sınıfa miras alma özelliği
Türetilmiş sınıf, temel sınıf özel üyelerine erişemez.Türetilmiş sınıf, temel sınıf korumalı üyelere erişebilir.
Ulaşılabilirlik
Sınıfın özel üyelerine sınıf kapsamı dışında erişilemez.Sınıfın korunan üyelerine, derhal türetilen sınıf dışında sınıf kapsamı dışında erişilemez.
Kendi sınıfından erişilebilirEvetEvet
Türetilmiş sınıftan erişilebilirYok hayırEvet
Dışarıdan erişilebilirYok hayırYok hayır

Özel Tanımı

Özel olarak ilan edilen sınıf üyeleri, yalnızca sınıf içinde alınabilir. Başka bir deyişle, sınıfın özel bölümünde bildirilen üyelere, yalnızca sınıfın arkadaş işlevi ve üye işlevi tarafından erişilebilir. Özel üyeler doğrudan türetilmiş sınıfa elde edilemez ve sınıf kapsamı dışında erişilemez.

C ++ programı özel erişim belirleyicileri kavramını gösterir.

 # İsim alanı std kullanarak; A sınıfı {private: int i; public: void get () {cout <> i; }}; B sınıfı: public A {public: void show () {i ++; cout << "\ n Artandan sonra girilen numaranız"> #, namespace std; sınıf memeli {public: void mammalMethod (void) {cout << "Bu memeli kategorisine giriyor." < 

Yukarıda verilen programda, alt sınıfın bir nesnesine "ob" adı verilir ve üst sınıfın üye işlevine "marine_mammalMethod" çocuk sınıfı yöntemi çağrılarak erişilebilir. Bununla birlikte, ana yönteme doğrudan “ob” nesnesiyle erişilemiyor.

Korumalı tanımı

Bir sınıfta korunan olarak ilan edilen sınıf üyelerine, yalnızca sınıfın üye işlevi ve arkadaş işlevi aracılığıyla erişilebilir. Bu korunan üyelere, çocuk sınıfı dışında (hemen ondan türetilmiş) sınıf kapsamından erişilemez. Mirasta sınırlı amaca hizmet eder ve mülkleri sınırlı bir şekilde miras alır.

Aşağıda verilen C ++ programı, korumalı erişim belirleyicileri kavramını göstermektedir.

 # İsim alanı std kullanarak; sınıf hesap1 {korumalı: int x, y; // türetilmiş kamuya açık erişilebilir: void set (int a, int b) {x = a; y = b; } void show () {cout < 

Yukarıdaki örnekte, alt sınıf, temel sınıfın özelliklerini devralır, çünkü veri üyeleri genel veya korumalı olarak ilan edilir. X ve y'nin temel sınıfta özel ilan edilmesi mümkün olmazdı.

C ++ ile Özel ve Korumalı Arasındaki Temel Farklılıklar

  1. Korumalı anahtar kelime, sınıflarına özel olan ancak üyeler tarafından türetilen sınıf tarafından kullanılan sınıf üyelerini oluşturmak için kullanılabilir. Buna karşılık, özel kullanırken bu mümkün değildir, çünkü özel üyeler doğrudan türetilmiş sınıfa alınamaz.
  2. Temel sınıf özel erişim belirteci kullanılarak miras alındığında, temel sınıfın herkese açık ve korunan üyelerini, türetilmiş sınıfın özel üyeleri yapar. Karşıt olarak, korumalı erişim tanımlayıcılarında durum böyle değil.

Sonuç

Özel ve korunan, sınıfın ve üyelerinin görünürlüğünü farklı kılmak için kullanılan erişim belirleyicileridir. Bununla birlikte, korunan özelden daha esnektir.

Top