Anahtar Farkı – Yapıcı ve Yıkıcı
Çoğu programlama dili Nesne Yönelimli Programlamayı (OOP) destekler. Nesneleri kullanarak bir yazılımı veya programı modellemeye yardımcı olan paradigmadır. OOP, üretkenliği ve sürdürülebilirliği artırır. OOP'de her şey bir nesne olarak kabul edilir. Nesneler, sınıflar kullanılarak oluşturulur veya somutlaştırılır. Yapıcı ve Yıkıcı, Nesne Yönelimli Programlamada ortak terimlerdir. Bu makalede, bir kurucu ve bir yıkıcı arasındaki fark tartışılmaktadır. Bir yapıcı ve bir yıkıcı, bir sınıftaki özel üye işlevidir. Bir yapıcı ve yıkıcı, sınıfla aynı ada sahiptir, ancak yıkıcının bir tilde (~) işareti vardır. Yapıcı ve yıkıcı arasındaki temel fark, yapıcının bir nesneye bellek tahsis etmek için kullanılması ve bir yıkıcının bir nesnenin belleğini serbest bırakmak için kullanılmasıdır.
Yapıcı nedir?
A yapıcı, bir nesneye bellek ayırmak için sınıftaki özel bir üye işlevidir. Veri üyeleri için değerler sağlamak için kullanılabilir. Nesne oluşturulduğunda yapıcı çağrılır. Sınıf adıyla aynı ada sahiptir. Bir kurucu herhangi bir değer döndürmez. Bu nedenle, bir dönüş türü içermez. Bir kurucu da parametreleri kabul edebilir. Parametreleri olan bir kurucu, parametreli bir kurucu olarak bilinir.
Yapıcı örneği aşağıdaki gibidir.
genel sınıf Dikdörtgen{
int uzunluk, genişlik;
genel Dikdörtgen(int p, int q){
uzunluk=p;
genişlik=q;
}
public int hesaplaAlan(){
dönüş (uzunlukgenişlik);
}
}
Yukarıdaki kod parçasına göre, yapıcı sınıf adıyla aynı ada sahiptir. Rectangle yapıcısı iki parametre kabul eder. Bunlar p ve q'dur. Uzunluğa p tamsayı değeri atanır. Genişliğe q tamsayı değeri atanır. calcu alteArea'da, dikdörtgenin alanını bulmak için uzunluk ve genişliğin çarpımı hesaplanır. Ana programda, programcı Rectangle türünde bir nesne oluşturabilir ve argümanları iletebilir. Örneğin. Dikdörtgen rect1=yeni Dikdörtgen(2, 3). Ardından parametreli yapıcı çağrılır ve değerleri uzunluk ve genişliğe atar.
Şekil 01: Yapıcı ve Yıkıcı
Parametresi olmayan bir kurucu olduğunda, buna varsayılan kurucu denir. Programcı bir kurucu tanımlamazsa, varsayılan kurucu çağrılır. Student olarak bir sınıf varsa ve programcı Student türünde bir nesne oluşturduğunda, varsayılan kurucu çağrılır. Örneğin. Öğrenci s1=yeni Öğrenci(); Bir sınıfta farklı parametrelere ve farklı veri türlerine sahip birden çok kurucu olabilir. Uygun kurucu buna göre çağrılabilir. Bu nedenle, yapıcılar aşırı yüklenebilir.
Yıkıcı nedir?
Bir yıkıcı, sınıftaki özel bir üye işlevidir. Yapıcı tarafından oluşturulan bir nesne için belleği ayırmak için kullanılır. Yıkıcı, nesne yok edildiğinde çağrılır. Artık gerekli olmayan temizleme deposunu gerçekleştirir. Yapıcı gibi, yıkıcı da sınıfla aynı ada sahiptir. Ayrıca bir yaklaşık işareti (~) sembolü içerir.
Bir yıkıcı herhangi bir değer döndürmez. Bir kurucudan farklı olarak, yıkıcı herhangi bir parametre kabul etmez. Bu nedenle, yıkıcı aşırı yüklemeyi desteklemez. Yıkıcı bildirmek iyi bir programlama uygulaması olarak kabul edilir, çünkü bellek alanını serbest bırakır ve bu alan diğer bazı nesneleri depolamak için kullanılabilir. Yıkıcının sözdizimi ~className() { } ile benzerdir. Örneğin. ~Dikdörtgen() { }; Bir sınıfta yalnızca tek bir yıkıcı olabilir.
Yapıcı ve Yıkıcı Arasındaki Benzerlikler Nelerdir?
- Hem yapıcı hem de yıkıcı nesnelerle ilişkilendirilir.
- Hem yapıcı hem de yıkıcı herhangi bir değer döndürmez.
- Hem yapıcı hem de yıkıcı otomatik olarak çağrılır.
Yapıcı ve Yıkıcı Arasındaki Fark Nedir?
Yapıcı vs Yıkıcı |
|
Yapıcı, bir nesneye bellek ayırmak için kullanılan sınıftaki özel bir üyedir. | Yıkıcı, bir nesnenin belleğini serbest bırakmak için kullanılan sınıfın özel bir üyesidir. |
Çağırma Yöntemi | |
Nesne oluşturulduğunda bir yapıcı çağrılır. | Nesne yok edildiğinde veya silindiğinde bir yıkıcı çağrılır. |
Kullanım | |
Nesneler için bellek ayırmak için bir kurucu kullanılır. | Nesneler için belleği serbest bırakmak için bir yıkıcı kullanılır. |
Parametreler | |
Bir yapıcı parametreleri kabul eder. | Bir yıkıcı parametre kabul etmez. |
Yapıcı ve Yıkıcı Sayısı | |
Farklı sayıda parametreye ve farklı türde parametreye sahip birden çok kurucu olabilir. | Sınıfta tek bir yıkıcı olabilir. |
Yürütme Hızı | |
Bir yapıcı, sınıf adıyla aynı ada sahiptir. | Bir yıkıcı, yaklaşık işareti (~) sembolüyle sınıf adıyla aynı ada sahiptir. |
Aşırı yükleme | |
Bir kurucu aşırı yüklenebilir. | Bir yıkıcı aşırı yüklenemez. |
Özet – Constructor vs Destructor
OOP, yazılım geliştirmede yaygın bir paradigmadır. Karmaşık bir projeyi basitleştirebilir. OOP'de bir yapıcı ve bir yıkıcı kullanılır. Bir yapıcı ve yıkıcı, sınıfla aynı ada sahiptir, ancak yıkıcının bir ~ işareti vardır. Bir kurucu ve yıkıcı arasındaki fark, bir kurucunun bir nesneye bellek tahsis etmek için kullanılması ve bir yıkıcının bir nesnenin belleğini serbest bırakmak için kullanılmasıdır.
Constructor vs Destructor'ın PDF'sini indirin
Bu makalenin PDF sürümünü indirebilir ve alıntı notuna göre çevrimdışı amaçlarla kullanabilirsiniz. Lütfen PDF sürümünü buradan indirin: Yapıcı ve Yıkıcı Arasındaki Fark