
Partial (Kısmi) Class C# programlama dilinin önemli bir özelliğidir. Partial class bize tek bir sınıfın fonksiyonelliğini birden fazla sınıfa uygulama imkanı sunar.
Tüm bu partial classes (kısmi sınıflar) uygulama derlendiğinde (compiling) tek bir sınıf olarak birleşirler. Partial class kullanımı için partial keyword kullanılır. Bu keyword aynı zamanda metotların, arayüzlerin(interface) veya structure yapılarının fonksiyonelliğini bölerek uygulama imkanı da sunar.

Yukarıda görüldüğü üzere ClassDemo iki farklı yerde tanımlıdır. Ancak bunları partial ile böldük. Bu iki ayrı yapı uygulama compile edildiğinde birleşik şekilde çalışır. Bunu sadece 2 ayrı sınıf olarak düşünmeyelim, istersek daha fazla sayıda sınıfa da bölebiliriz.
Önemli noktalar :
- Partial class’ın her parçası aynı namespace içerisinde bulunmalı.
- Partial class’ın her parçası aynı erişim belirleyiciye sahip olmalıdır.
- Kullanıcı iç içe kısmi sınıf (nested partial class) kullabilir.
Sealed Class (Mühürlü Sınıf)
Sealed (mühürlü), sınıfların kalıtım işlemini engellemek için kullanılan bir anahtar kelimedir. Sealed olarak tanımlanan bir sınıftan kalıtım almaya çalışırsak hata verecektir. Sealed anahtar kelimesi bir sınıf için uygulanacak ise kalıtımı, bir üye için uygulanacak ise üyenin override edilmesini engellemektedir. Eğer bir üye override edilmiyorsa orada sealed kullanılamaz.

Yukarıda tanımladığımız ClassDemo sınıfından Class2 için kalıtım almak istedik ancak ClassDemo sınıfı sealed olduğu için hata aldık.
Eğer metot için sealed kullanırsak;
Sealed anahtar kelimesi bir override metod için kullanılırsa ilgili sınıf başka bir sınıfa kalıtım aktaracağı zaman metodun override edilmesini engellemiş olur. Örnek üzerinde görelim;

Kalıtım yapılmasını istemediğimiz sınıflarda güvenliği sağlamak için veya yanlış kalıtım işlemlerininin önüne geçmek için sealed anahtarını kullanabiliriz.