6 Şubat 2018 Salı

CONSTRUCTOR VE DESTRUCTOR KAVRAMLARI


Bir constructor (Yapılandırıcı veya kurucu olarak adlandırılır) fonksiyon,kendi sınıfı icerisindeki(genelde private olan uyeler) uyeleri veya olusturdugu nesnenin ilk cikis sahnesini olusturan fonksiyonlardir.Nesneler,genelde yaratılırken ilk deger atamalarını kendi kurucu fonksiyonlari sayesinde yaparlar.Boyle bir kural sart degildir,ancak nesne yönelimli programlama dilleri(object oriented programming) uzerinde kod yazan programcılar genelde bu yaklaşım ile sınıflarını tasarlarlar.Bakıldıgı zaman programın optimizasyonu acısından da constructor fonksiyonları cok yararlıdır.

Destructor (Yıkıcı veya Yok edici olarak adlandırılır) olarak adlandırılan fonksiyonlar ise,constructor fonksiyonunun yaptıgı işin tersini yaparlar,yani gorevi biten nesneyi yok ederler.Bir sınıfın(class) uyesi olan bir degisken(orn:string tipli) gorevini noktaladigi durumda ~destructor() fonksiyonu otomatik cagrilarak,uzerinde calistigi nesneyi devre dışı bırakır.C++ programlama dili icerisinde destructor'lar bulunurken,java dilinde bu fonksiyonlar kaldırılmıştır.Nedeni ise,programlama zafiyeti acısından eger iyi tasarlanmazsa,bu fonksiyonlar programa ciddi zararlar verebilirler.

destructor() fonksiyonları olmasada,constructor() fonksiyonlari aşırı yuklenebilir.Bu durumu fonksiyon parametrelerini degistirerek uygulayabilirsiniz.Ancak bu fonksiyonlarin donus tipi belirtilmemektedir.

C++ programlama dilinde bu sistemlerin initalize edilmesi asagidaki gibi tasarlanır.
 
class class_name { // Bir class
 
class_name(); // Bir constructor
class_name(int,float); // Aşırı yuklenmiş Bir constructor
~class_name(); // Bir destructor
};

Hiç yorum yok:

Yorum Gönder

OVERLOADİNG

C/C++ Operatorlerin Aşırı Yüklenmesi (Operator Overloading) C++’ da +,-,*,!,++ gibi operatörler fonksiyonlar yazılarak bu operatörlere ...