Son Haberler
Anasayfa / Etiket Arşivi: inheritence

Etiket Arşivi: inheritence

Interface (Arayüz)

Interfaceler, class veya struct gibi türler için oluşturulmuş modellerdir. Sınıflar değişkenleri, özellikleri, olayları, metotları ve indeksleyicileri tanımlar ve içeriklerini oluşturur, arayüzler ise bir sınıfın temelde hangi üyelerden oluşacağını belirleyen bir nevi şablon yapılarıdır. Bu sayede oluşturulacak sınıflara öncülük edilir ve içermeleri gereken üyelerin ne olacağının standardı belirlenir. Genelde büyük ölçekli projelerde önem kazanmaktadırlar. Arayüzleri interface anahtar sözcüğü ile tanımlarız. Ara …

Devamını Oku »

sealed Anahtar Sözcüğü

sealed kelime anlamı olarak mühürlenmiş demektir. Bazı durumlarda oluşturulan bir class’dan türeme yapılmasını istemeyebiliriz. Bunu engellemek için üretilen class eğer sealed olarak tanımlanırsa bu classdan inheritence alınamaz. Bu durumu hangi şartlarda kullanabiliriz? Örneğin bir class kütüphane olarak yapılmış olsun. Veya bir windows kontrol uygulaması için bir class yazıldığını düşünelimç Bu classın bir başkası tarafından extend edilmesini istemiyorsak veya modify edilmesini …

Devamını Oku »

Abstract Class – Soyut Sınıf – Özet Sınıf

Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlandırılmaktadırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance alınamayan ama miras veren sınıflarlardır. İçinde abstract metotlar bulunur ama bu metotların içi boştur ve bu metotlar override edilmek zorundadır, aksi halde derleyici hata verir. Abstract aslında bir yandan da virtual demektir, virtualda override zorunluğu yok …

Devamını Oku »

Virtual Methods – Sanal Metotlar

Virtual methods (sanal metotlar), base class (temel sınıf) içinde bildirilmiş ve derived class (türemiş sınıf) içinde de tekrar bildirilebilen metotlardır. Böylelikle sanal metotlar kullanılarak nesne yönelimli programlama da çok sık başvurulan çok biçimliliği yani poliformizm (polimorphizm) uygulanmış olur. Yani temel sınıfta bir sanal metot bildirildiğinde bu temel sınıftan türeyen sınıflardaki metotlar override edilerek, temel sınıftaki sanal metotu devre dışı bırakabilirler. …

Devamını Oku »

Name Hiding (Üye Gizleme – Shadowing)

Bazı durumlarda base class?da olan bir metot, bir üye ismi ile kendisinden türeyen derived class içindeki bir metot, üye tamamen aynı olabilir, aynı olmasını isteyebiliriz. İşte böyle bir durumda base class?da aynı isme sahip üyeye erişmek mümkün olmaz, çünkü derived class?daki üye base?deki üyeyi gizlemiştir. Bu durumda derleyici bir hata vermez fakat bir uyarı (warning) verecektir. Bu uyarıda eğer bu …

Devamını Oku »

base ve this Sözcüğü

C#?ta base anahtar sözcüğü ile doğrudan temel sınıfın kendisine ulaşılabilir. Bununla alakalı bir örnek yaparsak : Görüldüğü gibi, alt sınıflarda base kullanımı sonucunda base classa direkt değil, kendisinin bir önceki türediği classa ulaşılıyor. Yani A3?teki base anahtar sözcüğü ile A2 kastedilirken, A2?deki base anahtar sözcüğü ile A1 kastediliyor. Bir başka base kullanım örneği : Buna ek olarak ayrıca this sözcüğü …

Devamını Oku »

Kalıtımda Yapıcı Metotlar

Sınıfları türetirken temel sınıftaki bütün özellikler, türeyen sınıflar içinde geçerlidir, buna değişkenler, metotlar dahil. Ancak burada dikkat edilmesi gereken bir husus söz konusu tabii ki, bir temel sınıftan türeyen alt sınıf için bir nesne oluşturulduğunda bu alt sınıfın yapıcı (constructor) metotunun çağırılacağı kesindir. Peki, bu alt sınıfın temel özelliklerini aldığı base classın da yapıcı metotu çağırılır mı? Bu örnek ile …

Devamını Oku »

Inheritence – Miras Alma (Kalıtım)

Inheritence nesne yönelimli programlamanın en önemli özelliklerinden biridir, miras alma yolu ile sınıflar birbirinden türetilebilir. Yani mevcut sınıflardan yeni bir sınıf üretme şekli olarak tanımlanabilir.  Bu işlemde, türeyen sınıflar derived class (türemiş sınıf), kendisinden yeni sınıfların oluşturulduğu sınıflara ise base class (temel sınıf) adı verilir. Türeyen sınıflar, türedikleri sınıfların özelliklerini devralırlar, bununla birlikte kendilerine de özel olarak özellikleri mevcuttur. .NET …

Devamını Oku »