C++ Alıcılar ve Ayarlayıcılar Yöntemleri

C Alicilar Ve Ayarlayicilar Yontemleri



En yaygın kullanılan üst düzey dillerden biri, çeşitli işlemlerde ve işlevlerde bize yardımcı olan C++'dır. Ek olarak, işlev bildirimlerini içeren çeşitli başlık dosyaları sunar ve C++ kodlarında sınıflar oluşturabiliriz. Bu özellikler işimizi kolaylaştırıyor. Kapsülleme ilkesinin özü alıcılar ve ayarlayıcılardır. Alıcılar özel verileri kamuya açık hale getirir. Ayrıca döndürülen sonucu da bir miktar değiştirebilirler. Ayarlayıcılar özel bir değişkeni değiştirmeyi mümkün kılar. Bunlar çok önemlidir çünkü bir değer belirlemeden önce bir onay sunabilirler. Bu alıcı ve ayarlayıcıları buradaki C++ kodlarımıza uygulayalım.

Örnek 1:

C++ geliştirmeye uygun olduklarından kodumuzu başlatmak için buradaki başlık dosyalarını kullanıyoruz. Başlamak için bu kodu çalıştırmak için gereken başlık dosyalarını yüklüyoruz. “string” ve “iostream” başlık dosyaları bu koda dahil edilmiştir. Bundan sonra “namespace std”yi ekliyoruz.







Daha sonra burada bir “Table” sınıfı oluşturup “count” isimli özel bir değişkeni “int” veri tipi ile başlatıyoruz ve onun değeri olarak “15”i saklıyoruz. Bundan sonra “public” anahtar kelimesini ekliyoruz. Daha sonra “getCount()” adında bir fonksiyon oluşturuyoruz. Veri türü “int”tir. Buradaki alıcı işlevi budur. Bu fonksiyonda bu “count”u “return” anahtar kelimesini kullanarak döndürüyoruz. Daha sonra bir önceki sınıfın nesnesini “T_obj” ismiyle oluşturduğumuz “main()” fonksiyonunu çağırıyoruz. Daha sonra “cout” deyimindeki bu sınıf nesnesi ile “getCount()” fonksiyonunu çağırıp count değerini alıp sonucu buraya yazdırıyoruz.



Kod 1:

#include

#include

kullanarak ad alanı std ;

sınıf Masa

{

özel :
int saymak = on beş ;
halk :
int getCount ( )
{
geri dönmek saymak ;
}
} ;
int ana ( )
{
Tablo T_obj ;


cout << 'Burada tablonun numaralarını alıyoruz: ' << T_obj. getCount ( ) ;

}

Çıktı:

Bu kodun eksiksiz ve başarılı bir şekilde derlenmesinden sonra, sayma değerini aldığını görebildiğimiz ve burada “15” olan bu istenen çıktıyı elde ediyoruz. “Özel” sınıfın içinde başlatılır.







Örnek 2:

Bu kod için gerekli olan “string” ve “iostream” başlık dosyaları burada yer almaktadır. Daha sonra “ad alanı std”si eklenir. Daha sonra “MySquareClass” sınıfının yeni bir örneğini oluşturuyoruz, “squareSide” isimli özel bir değişkeni “int” veri tipiyle başlatıyoruz ve değerini “5” olarak ayarlıyoruz. Daha sonra “public” anahtar kelimesi eklenir ve “int” veri tipine sahip “getSquareSide()” adı verilen bir fonksiyon geliştirilir.

Burada buna 'alıcı' işlevi denir. Bunun içinde “squareSide”ı “geri döndürüyoruz”. Yani bu fonksiyonu çağırdığımızda “squareSide” değerini veriyor. Bundan sonra “getSquarePerimeter()” adında başka bir fonksiyon yerleştiriyoruz. Burada çevreyi bulmak için formülü yerleştiriyoruz, böylece karenin kenar değerini alıp “4” ile çarparak karenin çevresini döndürüyoruz. Ayrıca karenin alanını da bulmamız gerekiyor. Bu amaçla “getSquareArea()” adında bir fonksiyon daha geliştirip, karenin kenarlarını çarpan bir formül yardımıyla karenin alanını hesaplıyoruz. Her çağırdığımızda karenin alanını döndürür ve bir önceki “squareSide” değişkeninden karenin kenar değerini alır.



Şimdi bu fonksiyonları çağırmamız gerekiyor. “main()” komutunu çağırıyoruz ve ardından “sq_obj1” ismiyle “MySquareClass” nesnesini oluşturuyoruz. Bundan sonra bu sınıf nesnesi ile üç fonksiyonu da ayrı ayrı çağırıp yazdırıyoruz.

Kod 2:

#include

#include

kullanarak ad alanı std ;

sınıf MySquareClass

{

özel :

int kareYan = 5 ;
halk :
int getSquareSide ( )
{
geri dönmek kareYan ;
}
int getSquarePerimeter ( )
{
geri dönmek kareYan * 4 ;
}
int getSquareArea ( )
{
geri dönmek kareYan * kareYan ;
}
} ;
int ana ( )
{
MySquareClass sq_obj1 ;

cout << 'Meydanın Kenarı = ' <<

sq_obj1. getSquareSide ( ) << sonunda ;

cout << 'Meydanın Çevresi = ' <<

sq_obj1. getSquarePerimeter ( ) << sonunda ;

cout << 'Karenin Alanı = ' <<

sq_obj1. getSquareArea ( ) << sonunda ;

}

Çıktı:

Öncelikle “getSquareSide()” fonksiyonu yardımıyla karenin “5” kenarını görüntüler. Daha sonra “getSquarePerimeter()” fonksiyonunu kullanarak karenin çevresini, “getSquareArea()” fonksiyonunu kullanarak da karenin alanını yazdırır.

Örnek 3:

Burada “private” anahtar kelimesini koyduğumuz ve “int” veri türüyle “driverSalary”yi özel üye olarak bildirdiğimiz “Driver” sınıfımız var. Bundan sonra “setDriverSalary” fonksiyonunu oluşturup bu fonksiyonun parametresi olarak “int d_s”yi geçireceğimiz “public” var. Bu, bu koddaki ayarlayıcı işlevidir. Şimdi bu fonksiyonun içindeki “driverSalary” değişkenine “d_s”yi atadık.

Bundan sonra “getDriverSalary” isimli getter fonksiyonunu oluşturup sürücünün maaşını iade ediyoruz. Şimdi “main()”i çağırdıktan sonra “driverObj_1” sınıfından bir nesne oluşturuyoruz ve “setDriverSalary()” fonksiyonunu çağırıp parametresi olarak “30000”i geçirerek sürücü maaşının değerini ayarlıyoruz. sürücünün maaşı. Daha sonra “getDriverSalary()” fonksiyonunu çağırarak bu maaşı yazdırıyoruz.

Kod 3:

#include

kullanarak ad alanı std ;

sınıf Sürücü {

özel :
int şoförMaaş ;
halk :
geçersiz setSürücüMaaş ( int d_s ) {
şoförMaaş = d_s ;
}
int Sürücü Maaşını Al ( ) {
geri dönmek şoförMaaş ;
}
} ;
int ana ( ) {
Sürücü sürücüsüObj_1 ;
sürücüObj_1. setSürücüMaaş ( 30000 ) ;


cout << 'Sürücünün maaşı: ' << sürücüObj_1. Sürücü Maaşını Al ( ) ;

geri dönmek 0 ;

}

Çıktı:

Burada şoförün maaşını ayarlayıp, ayarlayıp çıktı ekranında görüntüledikten sonra maaşını alıyoruz.

Örnek 4:

“P_name”, “P_city” ve “P_language” isimli üç “private” değişkeni “string” veri tipi ile bildirdiğimiz bu kodda “Person” sınıfı oluşturuluyor. Bundan sonra “public” bir kurucu yapıyoruz. Burada “setPersonName()” fonksiyonunu yerleştirip fonksiyonun parametresi olarak da “string newName” koyuyoruz. Daha sonra bu “newName”i “P_name” değişkenine atadık. Daha sonra “getPersonCity()” fonksiyonunu yaratıp “P_city” değerini döndürüyoruz. Aynı şekilde “setPersonCity()” isminde bir fonksiyon daha oluşturuyoruz. Daha sonra parametre olarak “string city”yi geçiyoruz.

“Şehir” değişkeni artık “P_city” değişkenine atanmıştır. ”getPersonLanguage()” burada aynı zamanda “P_language” değerini döndüren bir sonraki fonksiyondur. Ayrıca “setPersonLanguage()” fonksiyonunu da tanımlayıp ona parametre olarak “lang” stringini aktarıyoruz. Daha sonra “lang”, “P_language” değişkenine atanır. Bundan sonra “cout()” ifadesini kullandığımız “lives()” ve “speak()” adında iki fonksiyonumuz daha var.

“main()” metodunu çalıştırdıktan sonra artık “p_obj1” isimli sınıftan bir nesne oluşturuyoruz. Burada “setPersonName()” fonksiyonunu çalıştırıp parametre olarak kişinin adını “Samuel” vererek kişi adını belirliyoruz. Bundan sonra “setPersonCity()” fonksiyonunu çağırıp parametre olarak “London”u geçirerek kişinin şehrini ayarlıyoruz. Daha sonra “setPersonLanguage()” fonksiyonunu kullanarak ve parametre olarak da “English”i geçirerek kişinin dilini de ayarlıyoruz. Artık “p_obj1” sınıfının nesnesi ile “lives()” ve “speak()” fonksiyonlarını ayrı ayrı çağırıyoruz.

Kod 4:

#include

kullanarak ad alanı std ;

sınıf Kişi

{

özel :
dize P_adı ;
dize P_şehir ;
string P_language ;

halk :
geçersiz setKişiAdı ( dize yeniAd ) {
P_adı = yeni isim ;
}

dize getPersonCity ( ) {
geri dönmek P_şehir ;
}

geçersiz setPersonCity ( dize şehri ) {
P_şehir = şehir ;
}

string getPersonLanguage ( ) {
geri dönmek P_dil ;
}

geçersiz setPersonLanguage ( dize dili ) {
P_dil = Sadece ;
}

geçersiz hayatları ( )
{


cout << P_adı << ' içinde yaşıyor ' << P_şehir << sonunda ;

}

geçersiz konuşmak ( )
{


cout << P_adı << 'konuşuyor' << P_dil << sonunda ;

}

} ;

int ana ( ) {

Kişi p_obj1 ;
p_obj1. setKişiAdı ( 'Samuel' ) ;
p_obj1. setPersonCity ( 'Londra' ) ;
p_obj1. setPersonLanguage ( 'İngilizce' ) ;

p_obj1. hayatları ( ) ;
p_obj1. konuşmak ( ) ;

geri dönmek 0 ;


}

Çıktı:

Burada sonuç olarak kodumuzda belirlediğimiz tüm değerleri gösterir. Bu sonucu yarattığımız fonksiyonu çağırarak elde ederiz.

Çözüm

Bu kılavuzda C++ programlamadaki alıcıları ve ayarlayıcıları araştırdık. 'Getter' ve 'setter' yöntemlerinin sınıfın iç işlemlerinin daha iyi soyutlanmasını ve kapsüllenmesini sunduğunu açıkladık. Ek olarak, veri üyesini korumaya yönelik veri geçerliliği işlevinin korunduğunu ve sınıfın, harici kodu etkilemeden kendi kodunu değiştirmesine olanak tanıdığını da araştırdık. Bunu C++ kodlarıyla bu alıcı ve ayarlayıcılardan yararlanarak yaptık.