0Pricing
C# Academy · Ders

Yapıcılar ve statik üyeler

Nesneleri yapıcılarla (aşırı yüklemeler ve zincirleme dahil) oluşturun; tüm örneklerce paylaşılan verileri tutmak için statik alanları/yöntemleri kullanın.

Yapıcılar ve statik üyeler, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 3 dersten oluşur.

Yapıcılar ve statik üyeler: genel bakış

Amaç: Nesneleri güvenli biçimde oluşturun ve verileri örnekler arasında paylaşın.

  • Yapıcılar gerekli durumu ayarlar
  • Aşırı yüklemeler ve this(...) zincirleme
  • Tüm nesneler tarafından paylaşılan statik fields/yöntemler

Temel yapıcı

Bir yapıcı, new çağrıldığında çalışır ve nesneyi başlatır.

using System;

// Constructor sets required data on creation
public class User
{
  public string Name { get; private set; }
  public int Age { get; private set; }

  public User(string name, int age)
  {
    Name = name;
    Age = age;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    User u = new User("Ada", 28);
    Console.WriteLine(u.Name + " (" + u.Age + ")");
  }
}

Aşırı yüklemeler ve zincirleme

Kolaylık sağlamak için yapıcı aşırı yüklemesini, mantığı yeniden kullanmak için de this(...) ifadesini kullanın.

using System;

// Overloads let you offer defaults; chain with this(...)
public class Point2D
{
  public int X { get; private set; }
  public int Y { get; private set; }

  public Point2D(int x, int y)
  {
    X = x; Y = y;
  }

  public Point2D(int xy) : this(xy, xy) { } // calls the main constructor
}

public class Program
{
  public static void Main(string[] args)
  {
    Point2D p1 = new Point2D(3, 4);
    Point2D p2 = new Point2D(5); // becomes (5,5)
    Console.WriteLine("p1: " + p1.X + "," + p1.Y);
    Console.WriteLine("p2: " + p2.X + "," + p2.Y);
  }
}

Statik üyeler

Statik üyeler tüm örnekler tarafından paylaşılır. Statik yöntemleri tür adı üzerinden çağırın.

using System;

// Static members live on the type (one copy shared)
public class Counter
{
  private static int _created = 0;   // shared count
  public int Id { get; private set; }

  public Counter()
  {
    _created = _created + 1;
    Id = _created;
  }

  public static int CreatedCount()
  {
    return _created;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Counter a = new Counter();
    Counter b = new Counter();
    Console.WriteLine("a.Id=" + a.Id + ", b.Id=" + b.Id);
    Console.WriteLine("Total created = " + Counter.CreatedCount());
  }
}

Statik yapıcı ve sabitler

Bir statik yapıcı, tür başına bir kez çalışır. Derleme zamanı değişmezleri için const, çalışma zamanında ayarlanan değerler için static readonly kullanın.

using System;

public class AppConfig
{
  public const string AppName = "Demo";      // compile-time constant
  public static readonly DateTime StartedAt; // runtime-initialized once

  // Static constructor: runs once before first use of the type
  static AppConfig()
  {
    StartedAt = DateTime.UtcNow;
  }

  public static string Info()
  {
    return AppName + " started at " + StartedAt.ToString("u");
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine(AppConfig.Info());
    Console.WriteLine(AppConfig.Info()); // static ctor ran only once
  }
}

İpuçları

İpuçları:

  • Yapıcıları kısa tutun; girdileri erkenden doğrulayın.
  • Yaygın varsayılanlar için aşırı yüklemeleri kullanın ve tek bir ana yapıcıya zincirleyin.
  • Veriler gerçekten türe ait olduğunda (ör. sayaçlar ve yardımcılar) statik kullanın.

Statik üyeler kavramı

Hızlı kontrol: Statik üyelerle ilgili hangi ifade doğrudur?

Özet

Özet: Gerekli durumu ayarlamak için yapıcıları, kolaylık sağlamak için aşırı yükleme ve zincirlemeyi kullanın; tüm nesneler tarafından paylaşılan veriler veya yardımcılar için statik üyeler ekleyin.

Sıkça Sorulan Sorular

“Yapıcılar ve statik üyeler” dersi ücretsiz mi?

Evet — “Yapıcılar ve statik üyeler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 3 dersten oluşur.

“Yapıcılar ve statik üyeler” dersinde ne öğreneceğim?

Nesneleri yapıcılarla (aşırı yüklemeler ve zincirleme dahil) oluşturun; tüm örneklerce paylaşılan verileri tutmak için statik alanları/yöntemleri kullanın. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C# Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.

“Yapıcılar ve statik üyeler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Alanlar, otomatik özellikler ve nesne başlatıcıları
  2. Yapıcılar ve statik üyeler
  3. Kapsülleme ve değişmez koşullar
← C# Academy Sayfasına Dön