Part 6 C# Sanal Yapılar (Virtual) ve Override Kullanımı

Sanal Yapılar Virtual & Override

Bir nesne üzerinde var olan tüm üyeler (members) derleme zamanında belirgindir. Yani, derleme aşamasında hangi nesne üzerinden hangi metotların çağrılabileceği bilinmektedir.

Sanal yapılar (virtual structures) ile derleme zamanında kesin olarak bilinen bu bilgi, çalışma zamanında (run time) da belirlenebilir hale gelir. Yani, ilgili nesnenin hangi metodu kullanacağını çalışma zamanında kararlaştırmak mümkündür.

Sanal yapılar nedir?

Sanal yapılar (virtual structures), bir sınıf içerisinde tanımlanmış olan ve bu sınıftan türeyen alt sınıflarda da tekrar tanımlanabilen yapılardır. Bu yapılar metot veya property olabilir. Sanal yapılar, bir sınıftaki üyelerin (members) türetilen sınıflarda yeniden yazılmasına (override) olanak tanır.

Name hiding ile karıştırmamak lazım.

Sanal yapıları (virtual structures) name hiding ile karıştırmamak gerekir. Sanal yapılar, üst sınıftaki herhangi bir özelliği (member) bilinçli olarak alt sınıflarda değiştirmek için kullanılır.

Name hiding, bir sınıftaki herhangi bir üyenin (member), türeyen alt sınıflarda yeniden tanımlanmasıyla oluşur ve bu durum isim çakışmasına (name conflict) neden olabilir. Ancak, sanal yapılarda durum farklıdır. Bir sınıfta bildirilen sanal yapı (metot veya property), bu sınıftan türeyen alt sınıflarda ezilebilir (override edilebilir), yani devre dışı bırakılıp yeniden tanımlanabilir. Sanal yapılarda, name hiding’de olduğu gibi isimsel çakışma yerine, üst sınıftan gelen bir yapının işlevi iptal edilip yeniden yapılandırılmaktadır.

Sanal yapılar gözlemleyelim

Eğer bir sınıfın içindeki üye (member) sanal olarak tanımlanmışsa (metot veya property fark etmez), bu üyenin hangi türe ait olduğunun çalışma zamanında (run time) belirlenmesine geç bağlama (late binding) denir. Geç bağlama, sanal üyelerin hangi türe ait olduğunun ve hangi metodun çağrılacağının çalışma zamanında karar verilmesini sağlar.

Bu, derleme zamanında (compile time) belirlenen bilgilerden farklı olarak, çalışma zamanında doğru metot veya property’nin çağrılmasını mümkün kılar.

Sanal yapılar ne için kullanılırlar?

Sanal yapılar, bir sınıfta tanımlanmış olan herhangi bir üyenin (member), kendisinden türeyen alt sınıflarda name hiding durumuna düşmeksizin ezilip yeniden yazılması için kullanılır. Bu, türetilmiş sınıfların, üst sınıftaki sanal üyeleri (metot veya property) geçersiz kılarak (override) kendi ihtiyaçlarına göre yeniden tanımlayabilmesini sağlar.

Peki Bu Zorunlu Mudur?

Hayır, bir sanal üye (virtual member) tanımlandı diye, mutlaka kendisinden türeyen alt sınıflarda ezilmek zorunda değildir. Ancak, eğer alt sınıflarda ezilmek istenirse, name hiding olmadan doğrudan ilgili sınıfın bir üyesi olacak şekilde çalışmasını sağlar. Bu, alt sınıfların üst sınıftan miras alınan üyeleri sorunsuz bir şekilde geçersiz kılabilmesine imkan tanır.

Bir sınıfta sanal yapı nasıl oluşturulur?

Bir sınıfta sanal yapı oluşturabilmek için, ilgili üyenin (metot veya property) imzasını virtual anahtar kelimesi ile işaretlemek yeterlidir. Sanal yapılar, genellikle public virtual şeklinde tanımlanır, ancak erişim belirleyicisi (public, protected, private) öncesinde veya sonrasında da virtual anahtar kelimesi kullanılabilir.

Bir sınıfta virtual anahtar kelimesi ile işaretlenerek sanal hale getirilmiş üye (member), bu sınıftan miras alan alt sınıflarda ezilmek isteniyorsa, ilgili alt sınıfta imzası override anahtar kelimesi ile işaretlenmiş bir şekilde aynı üye yeniden oluşturulur.

Base sınıfta veya atalarda virtual ile işaretlenerek sanallaştırılmış herhangi bir üye, türeyen alt sınıflarda illa ki override ile ezilmek zorunda değildir.

Ancak, bir alt sınıf base sınıftaki herhangi bir üyeyi override edecekse, o üyenin kesinlikle virtual olarak işaretlenmiş olması gerekir.

Virtual ile işaretlenmemiş bir üye kesinlikle override edilemez!

Override anahtar kelimesi, ileride abstract class’ların implementasyonunda da kullanılacaktır.

İkiden çok hiyerarşik kalıtım durumlarında override durumu

Bir sınıfta virtual ile işaretlenmiş herhangi bir üye, direkt olarak o sınıftan türeyen 1. dereceden sınıflarda illa ki override edilmek zorunda değildir. İhtiyaca göre, alt seviyedeki torun sınıflardan herhangi birinde override edilebilir.

Bu durum, programcılara esneklik sağlar ve sanal üyelerin, türeyen sınıfların hiyerarşisinde ihtiyaca göre farklı davranışlar sergilemesine imkan tanır.

Örnek 1:

class Memeli{
  virtual public void Konus(){
    Console.WriteLine("Ben konuşmuyorum...");
  }
}

class Maymun : Memeli{
  public override void Konus(){
    Console.WriteLine("Ben maymunum...");
  }  
}
class Inek : Memeli{
  public override void Konus(){
    Console.WriteLine("Ben İneğim...");
  }  
}

Örnek 2:




class Sekil{
 protected int _boy;
 protected int _en;
  
  public Sekil(int boy, int en){
    _boy = boy;
    _en = en;
  }
  
  virtual public int AlanHesapla(){
    return 0;
  }
  
}

class Ucgen : Sekil
{
  public Ucgen(int boy, int en): base(boy,en){
  
  }
  
  override public int AlanHesapla(){
    return _boy * _en /2;
  }

}

class Dortgen : Sekil
{
  public Dortgen(int boy, int en): base(boy,en){
  
  }
  override public int AlanHesapla(){
      return _boy * _en ;
    }

}

class Diktortgen : Sekil
{
  public Diktortgen(int boy, int en): base(boy,en){
  
  }
  override public int AlanHesapla(){
      return _boy * _en;
  }

}
}

Sanal yapılar hakkında özet

  • Sanal yapılar oop’de polimorfiz(çok biçimlilik)’i uygulayan yapılardır. (ilerde göreceğiz)
  • Sanal yapıların en önemli özelliği geç bağlam(late binding)’dir
  • Eğer bir member sanal olarak bildirilmemişse, derleyici nesnelerin tür bilgisinden faydalanarak derleme zamanında hangi nesneden ilgil member’ın çağrılacağını bilir.
  • Eğer bir member sanal olarak bildirilmişse, ilgili member’ın hangi nesne üzerinden çağrılacağı run time’da belirlenir.
  • Hangi member’ın run time’da belirlenmesine Geç Bağlama(Late Binding) denir.
  • Sanal yapı oluşturabilmek için ilgili member’ı virtual keywordü il işaretlemeliyiz.
  • Türeyen sınıflarda sanal yapıyı ezebilmek için override keywordü kullanılır.
  • Türeyen sınıflar sanal yapıları override etmek zorunda değildir.
  • Static yapılanmalar sanal olarak bildirilemezler! (İleride göreceğiz)

Yorum Yap

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Deneme Bonusu Veren Siteler 2025 - Yüksek Deneme Bonusu(New)

Deneme Bonusu Veren Siteler 2025

Deneme bonusu veren siteler 2025 yılına damga vuruyor! Kullanıcılar artık sadece oyun değil, aynı zamanda yatırım yapmadan kazanma fırsatları arıyor. İşte bu noktada, yatırım şartsız ve çevrimsiz bonus sunan güvenilir bahis siteleri ön plana çıkıyor.

Slotin, Betci, Casival, Betmaks, Dedebet ve Casinobell gibi öne çıkan platformlar, kullanıcılarına yüksek oranlı ve çevrimsiz deneme bonusları sunarak 2025’te bahis severlerin gözdesi hâline geliyor. Elbette bunlarla sınırlı değil; toplamda +99 bahis sitesi listemizde, her zevke ve ihtiyaca uygun onlarca farklı seçenek yer alıyor.

Hem yeni başlayanlar hem de tecrübeli bahisçiler için hazırladığımız bu liste, sektördeki en güncel ve en avantajlı platformları içeriyor. NetEnt, Microgaming, Pragmatic Play gibi dev sağlayıcılarla çalışan bu siteler, yüksek RTP oranları, hızlı ödeme yöntemleri ve mobil uyumlu arayüzleriyle öne çıkıyor.

Bahis siteleri, 2025 yılında sundukları yeniliklerle dikkat çekiyor. Spor bahislerinden canlı casino oyunlarına, e-sporlardan slot makinelerine kadar geniş bir içerik sunan bu platformlar, her türden oyuncuya hitap ediyor.

Özellikle mobil uyumlu bahis siteleri, kullanıcıların her yerden kolay erişim sağlamasını mümkün kılıyor. Modern arayüzleri, hızlı ödeme sistemleri ve cazip promosyonlarıyla kullanıcı deneyimini zirveye taşıyorlar. Kullanıcılar, yatırım yapmadan önce bu sitelerde sunulan yatırımsız deneme bonusları ile hem eğlenip hem de kazanma şansını değerlendirebiliyor.

2025 itibarıyla güvenilir bahis siteleri, lisanslı yapıları ve yüksek güvenlik protokolleri sayesinde sektörde ön plana çıkıyor. Hem yeni başlayanlar hem de deneyimli oyuncular için ideal koşullar sunan bu siteler, heyecan dolu ve kazançlı bir deneyim arayanlar için biçilmiş kaftan.

Bu nedenle bahis severler, sadece bonus miktarına değil, aynı zamanda sitenin lisansına, ödeme geçmişine ve kullanıcı yorumlarına da dikkat etmelidir. 2025'te en iyi deneme bonusu veren siteler arasından seçim yaparak, risksiz ve keyifli bir başlangıç yapabilirsiniz.

Deneme bonusu veren siteler şu şekildedir:

Deneme bonusu veren siteler

En Güncel Yatırımsız Deneme Bonusu Sunan Siteler 2025

2025’te bahis dünyasında yatırımsız deneme bonusu arayan kullanıcıların karşısına birbirinden cazip seçenekler çıkıyor. Özellikle Slotbon, Atlantisbahis, Bahix, Betmore, Betmatik, Parobet ve Twinplay gibi yeni casino siteleri, yatırım şartsız sundukları kayıt bonuslarıyla dikkat çekiyor. Hızlı kayıt süreci, bedava spin kampanyaları ve çevrimsiz çekim avantajları sayesinde bu siteler, hem yeni başlayanlar hem de deneyimli bahisçiler için ideal durak hâline geliyor.

Bu platformların sağladığı lisanslı altyapı, hızlı ödeme yöntemleri, geniş oyun yelpazesi ve kullanıcı dostu arayüzler, 2025’in rekabetçi bahis pazarında onları bir adım öne taşıyor. Ancak unutma; doğru siteyi seçerken sadece bonus miktarına değil, ödeme hızı, müşteri desteği ve genel güvenilirlik gibi kriterlere de mutlaka dikkat etmek gerekiyor. Sen de bu güncel fırsatları değerlendirerek, yatırımlı ya da yatırımsız en iyi bonuslara ulaşabilirsin!

Yatırımsız deneme bonusu sunan siteler, özellikle yeni kullanıcıları cezbetmek için en çok tercih edilen yöntemlerden biridir. Bu sistemde kullanıcılar, hiçbir ödeme yapmadan doğrudan bahis oyunlarına katılım sağlayabilirler. Üyelik adımlarını tamamlayan herkes, anında promosyondan yararlanabilir ve sunulan oyun seçeneklerini deneyimleyebilir.

Yatırımsız bonus veren siteler, kullanıcılara sıfır risk ile başlangıç yapma fırsatı tanır. Bu da oyuncuların hem güvenini artırır hem de oyunlara karşı ilgilerini yükseltir. İlk adımda yatırımı zorunlu kılmayan bu siteler, denemeye açık kullanıcılar için cazip bir seçenektir.

Yatırımsız deneme bonusu, bahis piyasasına giriş yapmak isteyenler için mükemmel bir fırsattır. Oyuncular bu bonuslar sayesinde kendi sermayelerini kullanmadan, istedikleri oyunları deneyip strateji geliştirme imkanı bulurlar. Aynı zamanda siteyi tanımak ve en uygun içerikleri keşfetmek açısından da avantaj sağlar.

Çevrimsiz Deneme Bonusu Veren Siteler

Çevrimsiz deneme bonusu, çevrimiçi bahis ve casino sitelerinde yeni üyelere sunulan en cazip promosyonlardan biridir. Kayıt işlemi tamamlandıktan sonra genellikle otomatik olarak tanımlanan bu fırsatlar, kullanıcıya gerçek bakiye harcamadan oyun oynama imkânı tanır. Özellikle siteyi tanımak, oyunları test etmek ve platformun sunduğu avantajları değerlendirmek için idealdir.

Bahis siteleri için çevrimsiz bonus, müşteri memnuniyetini artıran ve sadık kullanıcı kitlesi oluşturmada etkili bir araçtır. 2025 yılında bu promosyonların daha yaygın hale gelmesi beklenmektedir. Böylece hem yeni üyeler siteye çekilecek hem de var olan kullanıcılar sadık kalmaya devam edecektir.

İşte Çevrimsiz Deneme Bonusu Veren Bahis Siteleri:

Deneme bonusu

Sıkça Sorulan Sorular (FAQ)

✅ Deneme bonusu nedir?

Deneme bonusu, bahis veya casino sitelerinin yeni kullanıcılara sunduğu, para yatırmadan önce oyunları deneme imkanı sağlayan promosyondur. Genellikle slot oyunlarında veya belirli casino içeriklerinde geçerlidir.

✅ Yatırımsız bonus nasıl alınır?

Yatırımsız bonus almak için güvenilir bir siteye üye olup e-posta veya telefon doğrulaması yapmanız yeterlidir. Çoğu zaman bonuslar otomatik tanımlanır; bazen canlı destekten de talep edebilirsiniz.

✅ Hangi siteler en yüksek deneme bonusunu veriyor?

Slotin, Betci, Casival ve Betmaks gibi siteler 2025 yılında en yüksek deneme bonusu veren güvenilir platformlar arasında yer alıyor. Ancak her siteye kaydolmadan önce bonus şartlarını mutlaka incelemelisiniz.

✅ Deneme bonusu çevrimsiz mi?

Her deneme bonusu çevrimsiz değildir. Bazı siteler çevrim şartı koyarken, bazıları doğrudan çekilebilir çevrimsiz bonus sunar. Çevrim şartlarına dikkat etmek önemlidir.