C# Partial Sınıflar (Bölünmüş Sınıflar) Nedir?
Partial (Bölünmüş) sınıflar, büyük sınıfları birden fazla dosyada veya kod bloğunda yönetilebilir hale getirmek için kullanılan bir özelliktir. Bu sayede, farklı geliştiriciler aynı sınıf üzerinde çalışabilir veya büyük sınıflar mantıksal olarak bölünebilir.
Partial Sınıfların Temel Özellikleri
- Birden fazla dosyada veya kod bloğunda aynı sınıf tanımlanabilir.
partial
anahtar kelimesi kullanılarak sınıf bölünebilir.- Derleme sırasında tüm
partial
parçalar birleştirilerek tek bir sınıf olarak ele alınır. - Aynı
namespace
içinde olmalıdırlar.
Partial Sınıf Tanımlama
Bir sınıfı iki ayrı dosyada tanımlayalım:
Dosya 1: EmployeePart1.cs
partial class Employee { public string Name; public int Age; public void DisplayEmployee() { Console.WriteLine($"Çalışan: {Name}, Yaş: {Age}"); } }
Dosya 2: EmployeePart2.cs
partial class Employee { public string Position; public void ShowPosition() { Console.WriteLine($"Pozisyon: {Position}"); } }
Kullanım Örneği:
class Program { static void Main(string[] args) { Employee emp = new Employee(); emp.Name = "Ali"; emp.Age = 30; emp.Position = "Yazılım Geliştirici"; emp.DisplayEmployee(); emp.ShowPosition(); } }
Programın Çıktısı
Çalışan: Ali, Yaş: 30 Pozisyon: Yazılım Geliştirici
Partial Metotlar
partial
sınıflar içinde partial metotlar tanımlanabilir. Bu metotlar bir sınıfın bir bölümünde bildirilebilir ve diğer bir bölümünde uygulanabilir.
Dosya 1: EmployeePart1.cs
partial class Employee { partial void DisplayMessage(); // Gövdesiz tanımlama public void ShowMessage() { DisplayMessage(); // Tanımlanmışsa çağrılır } }
Dosya 2: EmployeePart2.cs
partial class Employee { partial void DisplayMessage() { Console.WriteLine("Bu bir partial metot!"); } }
Kullanım:
class Program { static void Main(string[] args) { Employee emp = new Employee(); emp.ShowMessage(); } }
Programın Çıktısı
Bu bir partial metot!
Partial Sınıfların Avantajları
- Büyük sınıfları bölmek: Uzun sınıfları küçük parçalara ayırarak yönetimi kolaylaştırır.
- Farklı geliştiriciler tarafından kullanılabilir: Aynı sınıf üzerinde farklı geliştiricilerin çalışmasını sağlar.
- Otomatik kod üreten araçlarla uyumluluk: .NET araçları tarafından üretilen kodlar genellikle partial sınıflar ile düzenlenir.
Sonuç
Partial sınıflar, büyük sınıfları daha yönetilebilir hale getirmek ve farklı geliştiricilerin aynı sınıf üzerinde çalışmasını kolaylaştırmak için kullanılan güçlü bir C# özelliğidir. Ayrıca, partial metotlar sayesinde sınıfın belirli bölümleri gerektiğinde uygulanabilir veya boş bırakılabilir.