Part 2 Nesne Tabanlı Programlama Sınıf Üyeleri(Class Members)

C# dilinde sınıf üyeleri, bir sınıfın yapı taşlarını oluşturur ve sınıfın özelliklerini ve davranışlarını tanımlar. Özellikler genellikle sınıfın durumunu temsil ederken, davranışlar ise sınıfın işlevselliğini belirler. Özellikler genellikle alanlar (fields) veya özellikler (properties) şeklinde tanımlanırken, davranışlar ise metotlar (methods) olarak tanımlanır. Sınıf üyeleri, nesne tabanlı programlamanın temel prensiplerini gerçekleştirmeye yardımcı olur ve kodun daha organize ve anlaşılabilir olmasını sağlar.

Nesne tabanlı programlamada sınıf üyeleri, kodun tekrar kullanılabilirliğini artırır, bakımını kolaylaştırır ve kodun yeniden kullanılabilir olmasını sağlar. Ayrıca, sınıf üyeleri sayesinde kodun daha modüler bir şekilde yazılması ve geliştirilmesi mümkün olur. Bu blog yazısında, C# dilindeki sınıf üyelerini detaylı bir şekilde ele alacak ve örneklerle nasıl kullanıldıklarını göstereceğiz.

1. Field(Alan)

C# dilinde bir sınıf içinde bulunan değişkenlere “field” denir. Field’lar, bir sınıfın durumunu ve özelliklerini temsil eder. Bu değişkenler, genellikle sınıfın dışarıya açık (public), özel (private), korumalı (protected) veya dahili (internal) erişim belirleyicileriyle tanımlanabilir. Public field’lar, sınıfın dışından doğrudan erişilebilirken, private field’lar sadece sınıf içindeki diğer üyeler tarafından erişilebilir. Field’lar, bir sınıfın durumunu saklayan veri alanları olarak düşünülebilir. Örneğin, bir Araba sınıfında hız, renk veya marka gibi özellikler field olarak tanımlanabilir. Field’lar genellikle sınıfın durumunu temsil ettiği için sınıfın dışından erişilebilirliklerine dikkat edilmesi önemlidir. Bu dikkat, sınıfın kapsülleme prensiplerine uygunluğunu sağlar ve sınıfın iç yapısının dışarıdan etkilenmesini kontrol altında tutar.

class Car{
  public string brand;
  public string model;
  public int year;
    // Constructor (Yapıcı Metot)
    // Metotlar
 }

2. Property

property (özellik) C# ve diğer birçok nesne yönelimli programlama dilinde kullanılan bir kavramdır. Bir property, bir sınıfın dışarıya açık bir alanına erişmek veya onu değiştirmek için kullanılan bir tür üyedir. Field’lar (alanlar) genellikle sınıfın durumunu saklar ve doğrudan erişilebilirlerken, property’ler bu alanlara erişim sağlar ve genellikle alanların erişimini ve değiştirilmesini kontrol etmek için kullanılır. C# dilinde, property’ler genellikle get ve set erişim örnekleriyle tanımlanır.

  • Read-Write (Okuma-Yazma) Property:
    • Bu tür property’ler hem okunabilir (get accessor) hem de yazılabilir (set accessor) özelliktedir. Yani, property üzerinden değer okunabilir ve değiştirilebilir.
      • Örnek:
class Person{
 private string name;
 public string Name{
   get { return name; }
   set { name = value; }   
  }
  }
    // Kullanım
 Person person = new Person();
  person.Name = "John";  // Değer atama
 Console.WriteLine("Name: " + person.Name); // Değer okuma
  • Read-Only (Sadece Okunabilir) Property:
    • Bu tür property’ler sadece okunabilir (get accessor) özelliktedir. Yani, property üzerinden sadece değer okunabilir, değiştirilemez.
      • Örnek:
class Circle{
 private readonly double radius;
   public Circle(double radius){
      this.radius = radius;
   }
   public double Radius{
    get { return radius; }
  }
}
 // Kullanım
   Circle circle = new Circle(5.0);
   Console.WriteLine("Radius: " + circle.Radius); // Değer okuma<br>
  1. Write-Only (Sadece Yazılabilir) Property:
    • Bu tür property’ler sadece yazılabilir (set accessor) özelliktedir. Yani, property üzerinden sadece değer atanabilir, okunamaz.
    • Bu tür property’ler daha az kullanılır, çünkü genellikle bir değeri okuma ihtiyacı daha yaygındır.
    • Örnek: public int Age { set; }
class Printer{
   private string documentToPrint;
   public string DocumentToPrint{
   set { documentToPrint = value; }
   }
   public void PrintDocument(){
    Console.WriteLine("Printing: " + documentToPrint);
  }
}
      // Kullanım
  Printer printer = new Printer();
  printer.DocumentToPrint = "Hello, World!";    // Değer atama
  printer.PrintDocument(); // Yazdırma

Encapsulation

Encapsulation, bir nesnenin iç durumunun dışarıdan erişime kapalı olması ve sadece belirli erişimörnekleri (get, set gibi) aracılığıyla erişilebilir olması prensibidir. Bu prensip, bir nesnenin iç durumunun güvenliğini ve tutarlılığını sağlar. Property’ler, bu encapsulation prensibini destekleyen önemli bir mekanizmadır.

Property’ler, nesne alanlarına (fields) erişimi kontrol etmek ve gerektiğinde bu erişimlere özel bir davranış sağlamak için kullanılır. Bu sayede, nesnenin iç durumunun doğrudan erişime açık olmasını önlerken, alanların (fields) değerlerinin kontrol altında tutulmasını sağlar.

Örneğin, bir sınıfta age adında bir alan bulunabilir. Ancak, doğrudan bu alana erişilmesi encapsulation prensibine aykırı olabilir çünkü bu durum nesnenin iç durumunun kontrolsüz bir şekilde değiştirilmesine yol açabilir. Bunun yerine, age alanına erişimi kontrol etmek ve belirli kuralları uygulamak için bir property (Age) tanımlanabilir. Bu property, değer atama ve okuma işlemlerini kontrol ederek, nesnenin iç durumunu korur ve tutarlılığını sağlar.

Property’ler ayrıca, nesnenin iç temsiline (implementation) ilişkin ayrıntıları gizleyerek, dış dünyaya sadece gerekli bilgileri sunma prensibini de destekler. Bu, bir sınıfın dış dünyaya sadece belirli bir arayüz sağlaması ve iç detaylarını gizlemesi demektir. Bu da, kodun daha modüler, esnek ve bakımı kolay olmasını sağlar.

Sonuç olarak, property’ler, encapsulation prensibini destekleyerek, nesnelerin iç durumunu güvenli bir şekilde kontrol etmeyi ve sadece gerekli bilgileri dış dünyaya sunmayı sağlar. Bu da, yazılımın daha güvenli, tutarlı ve bakımı kolay olmasını sağlar.

Neden Encapsulation önemli bir örnek ile açıklayalım:

Düşünün ki bir otel odası rezervasyon sistemi yazıyorsunuz. Her bir oda için bir sınıf oluşturmayı düşünüyorsunuz. Oda sınıfınızda kapasite adında bir alan (field) bulunuyor. Bu alan, odanın maksimum kişi kapasitesini temsil ediyor.

Ancak, kapasite alanına doğrudan erişimi istemiyoruz çünkü bu durum odanın maksimum kapasitesinin yanlışlıkla değiştirilmesine veya uygun olmayan bir değer atanmasına yol açabilir. Örneğin, odanın maksimum kapasitesinin 2 olduğunu varsayalım. Eğer bu alana dışarıdan erişilebilir ve değeri değiştirilebilirse, bir hata olasılığı artar. Örneğin, yanlışlıkla bir başka değer atanabilir ve oda kapasitesi olarak negatif bir sayı veya sıfır atanabilir. Bu durum, rezervasyon sisteminin istenmeyen sonuçlara yol açmasına neden olabilir.

Bu yüzden, encapsulation prensibini kullanarak kapasite alanına dışarıdan doğrudan erişim yerine, bir property kullanırız. Bu property, sadece uygun değerler atanmasına ve odanın maksimum kapasitesinin güvenli bir şekilde kontrol edilmesine izin verir. Bu sayede, odanın iç durumu korunur ve hatalı atamalar önlenir.

Aynı şekilde, diğer odalar için de benzer durumlar geçerlidir. Her bir oda için maksimum kapasite alanının dışarıdan doğrudan erişilebilmesi yerine, bu alanlara güvenli bir şekilde erişimi kontrol eden ve hatalı atamaları önleyen property’ler kullanılır. Bu, rezervasyon sisteminin güvenliği ve tutarlılığı açısından önemlidir.

3.Method

bir sınıf içinde tanımlanan metotlar, o sınıfa ait işlevselliği barındıran kod bloklarıdır. Metotlar, belirli bir işi gerçekleştiren ve gerektiğinde çağrılabilecek olan kod parçalarıdır. Nesne tabanlı programlamada, metotlar genellikle bir nesnenin davranışlarını tanımlar ve o nesne üzerinde çeşitli işlemleri gerçekleştirir.

İşte metotların bazı özellikleri ve ne işe yaradığı hakkında daha fazla bilgi:

  1. İşlevsellik: Metotlar, bir sınıfa özgü işlevselliği tanımlar. Bu işlevsellik, sınıfın dış dünya ile nasıl etkileşime geçeceğini belirler. Örneğin, bir Araba sınıfında “startEngine” ve “stopEngine” gibi metotlar olabilir. Bu metotlar, arabayı çalıştırma ve durdurma işlemlerini gerçekleştirir.
  2. Parametreler: Metotlar genellikle girdi alabilir. Bu girdiler, metotun işlevselliğini etkileyebilir veya metotun çalışma şeklini değiştirebilir. Örneğin, “add” metodu bir toplama işlemi gerçekleştirirken, aldığı parametreler sayesinde farklı sayılar üzerinde işlem yapabilir.
  3. Dönüş Değeri: Metotlar genellikle bir değer döndürebilir. Bu değer, metotun gerçekleştirdiği işlem sonucunu veya hesaplanan bir değeri temsil edebilir. Örneğin, “calculateArea” metodu bir alan hesaplaması gerçekleştirir ve bu hesaplanan alan değerini döndürebilir.
  4. Kapsülleme: Metotlar, bir sınıfın iç detaylarını gizleyerek kapsülleme prensibini destekler. Yani, metotlar aracılığıyla sınıfın dış dünya ile etkileşimi sağlanırken, sınıfın iç yapısı dışarıya gizlenir. Bu, kodun daha modüler, esnek ve güvenli olmasını sağlar.
  5. Çağrılar: Metotlar, sınıf dışından çağrılabilir ve kullanılabilir. Bu, bir nesnenin belirli işlevselliğini başka kod parçaları tarafından kullanılmasını sağlar. Örneğin, Araba sınıfındaki “startEngine” metodu, başka bir kod parçası tarafından arabayı çalıştırmak için çağrılabilir.

Bu özellikler sayesinde, metotlar nesne tabanlı programlamada önemli bir rol oynar ve bir sınıfın davranışlarını tanımlamak için kullanılır.

this Keywordu’nedir? ne işe yarar?

C# dilinde “this” keyword’u, bir sınıfın kendi örneklerine (instance) erişmek için kullanılır. Bu keyword, özellikle sınıfın içinde bulunduğu kapsamda bulunan alanlara ve metotlara referans vermek için kullanılır. “this” keyword’u, aynı isimde farklı kapsamlarda bulunan değişkenlerin veya metodların ayırt edilmesini sağlar.

İşlevleri şunlardır:

  1. Sınıfın Alanlarına Erişim: Sınıf içinde bulunan bir metot veya yapıcı (constructor) içinde, alanların (fields) isimleri metot parametreleriyle veya yerel değişkenlerle çakışabilir. Bu durumda, “this” keyword’u kullanılarak sınıfın alanlarına erişilir. Örneğin:
public class MyClass{
private int myField;
 public void SetField(int myField){
  this.myField = myField; // "this" keyword'u, sınıfın alanına erişmek için kullanılır
   }
}

  1. Yapıcı (Constructor) Çağrısı: Bir sınıfın yapıcı metotları içinde, aynı sınıfın farklı yapıcılarını çağırmak için “this” keyword’u kullanılabilir. Bu, tekrarlanan kodu önler ve kodun daha temiz ve sade olmasını sağlar. Örneğin:
public class MyClass{
 private int myField;
  public MyClass(int myField) {
  this.myField = myField; // Birinci yapıcıyı çağırmak
  }
  public MyClass() : this(0) //İkinci yapıcıyı çağırırken birinci yapıcıyı çağırmak
  {    
  // Başka işlemler...
  }
}
  1. Nesne Yönlendirme: Bir sınıfın bir metodu, o sınıfın başka bir metodunu çağırabilir. Bu durumda, “this” keyword’u kullanılarak aynı sınıfın başka bir metodu çağırılır. Örneğin:
public class MyClass{
   public void Method1(){
  // Başka işlemler...
   }
   public void Method2(){
    this.Method1(); // Aynı sınıfın başka bir metodu çağırılıyor
  }
}

Bu örneklerde “this” keyword’u, sınıfın kendi örneklerine erişmek için kullanılmıştır. Bu şekilde, sınıf içindeki alanlara ve metotlara referans vermek ve kodun daha açık ve anlaşılabilir olmasını sağlamak mümkün olur.

1 Comment

halilkoklu için bir yanıt yazın Yanıtı iptal et

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.