10. SınıfBilişim Teknolojileri
Yapıcı ve Yıkıcı Metotlar — Çalışma Sayfası
Kazanımlar, önemli noktalar ve sık yapılan hatalar tek sayfada.
Bu konuda öğrenecekleriniz
- Yapıcı metodun görevini ve sınıf adıyla aynı adı taşıma kuralını açıklar.
- Parametreli yapıcı ile nesnenin ilk durumunu doğru kurar.
- Aynı sınıf içinde birden fazla yapıcının (aşırı yükleme) nasıl ayırt edildiğini gösterir.
- Finalizatör ile çöp toplayıcının çalışma biçimini ve farkını değerlendirir.
- IDisposable arayüzü ve using bloğu ile dosya, port ve bağlantıların neden düzenli kapatıldığını gerekçelendirir.
Önemli noktalar
- Yapıcı ilk değeri atamanın en güvenli yoludur, nesne kullanılmadan önce durumu tanımlanır.
- Çöp tolayıcı yalnızca belleği yönetir, dosya ve bağlantı gibi elle yönetilen kaynakları kapatmaz.
- Finalizatörün ne zaman çalışacağı garanti edilmez, bu yüzden kritik işler için kullanılmaz.
- using yalnızca IDisposable uygulayan türlerle kullanılır.
- Aşırı yüklenmiş yapıcılarda parametreler aynı olamaz, yoksa çağırım belirsizleşir.
- Dispose çağrıldıktan sonra nesne yeniden kullanılmamalı, yeni nesne üretilmelidir.
Formüller ve kurallar
- Yapıcının adı sınıfın adıyla aynıdır ve geri dönüş değeri yoktur.
- Parametreli yapıcı yazılmışsa parametresiz new çağrısı derleme hatası verir.
- Aşırı yüklemede ayırt edici olan parametrelerin sayısı ve tipleridir.
- Yıkıcı ~SınıfAdı biçimindedir ve çöp toplayıcı tarafından, zamanı garanti edilmeden çağrılır.
- using bloğu kapanırken Dispose metodu çağrılır; hata çıksa da kaynak serbest bırakılır.
- Açık bağlantı sayacı sorgu başına bir artar ve Dispose ile azalır, aksi hâlde havuz tükenir.
Sık yapılan hatalar
- Yapıcıya void ya da başka dönüş değeri yazmak: Yapıcının geri dönüş değeri yoktur, eklenen dönüş değeri derleme hatasına yol açar.
- Parametreli yapıcı ekledikten sonra parametresiz new beklemek: Derleyici otomatik yapıcıyı yalnızca hiçbir yapıcı yokken üretir.
- Kaynak kapatmayı yalnızca finalizatöre bırakmak: Finalizatörün zamanı garanti değildir, dosya ve bağlantılar geç kapanır.
- using bloğunu kullanmayıp Dispose çağırmayı unutmak: Hata durumunda da kapanması gereken kaynaklar açık kalır ve kilitlenme oluşur.
- Aynı parametre listesiyle ikinci yapıcı yazmak: İmzalar aynı olamaz, bu durumda derleyici çakışan tanım hatası verir.
Hızlı tekrar ipuçları
- Yapıcı sorusunda ilk bakılacak yer adın sınıfla aynı olması ve dönüş değerinin olmamasıdır.
- Sınavda using bloğu sorularında hata çıksa da çıktığında kapanacağını yaz; en güçlü gerekçe budur.
- Aşırı yükleme sorularında önce argüman sayısına bak, sonra türleri karşılaştır; uyumsuzsa çağırım yoktur.
- Sahada bir dosya kilitleniyorsa önce hangi sürecin dosyayı açık tuttuğuna bak, kodda using olup olmadığını sorgula.
- Sayaç ve havuz gibi paylaşılan kaynakları serbest bırakma işlemini her yol için aynı blokta topla, tek bırakma noktası olsun.
Kendini dene
Bu sayfayı okuduktan sonra konu anlatımını tekrar oku ve kendi cümlelerinle özetle.