C# - Operator Overloading (Operatörlerin Aşırı Yüklenmesi)

Normal şartlarda sınıflar üzerinde operatör (- + / vs.) kullanılamaz fakat C# sınıfları operatörlere uygun hale getirmeye imkan veriyor. Sınıfın içine yazacağımız metotlar ile ilgili operatörün nesne için nasıl çalışacağını belirleyebiliyoruz. Bu işleme operatörlerin aşırı yüklenmesi (operator overloading) denir.

C# - Access Modifiers (Erişim Belirleyiciler)

Tanımladığımız nesnelerin, metotların ya da değişkenlerin kimler (kendisi, başka sınıflar, başka assembly'ler vs.) tarafından erişilebilir olduğunu belirttiğimiz ifadelere erişim belirleyiciler denir. Bu yaklaşım nesne yönelimli programlama dillerinin çoğunda (ezici çoğunlukla) vardır.

C# - Polymorphism (Çok Biçimlilik) Tekniği

Bir sınıf başka bir sınıftan türetildiğinde tüm özelliklerini miras alır. Türemiş sınıf içinde türetilen sınıftan gelen bazı özellikleri değiştirmek isteyebiliriz (ve yapabiliriz de). Sınıfın miras aldığı özelliklerin değiştirilebilmesine -ve nesne üzerinden çağrılabilmesine- çok biçimlilik denir.

C# - Inheritance (Kalıtım) Tekniği

Daha önceden oluşturduğumuz bir sınıfa ait özelliklerin -field, property, method vs.- ikinci bir sınıfta bulunması için kalıtım kullanırız. Türetilen sınıfa base class, türemiş sınıfa derived class denir. Derived class içinde base class'tan alınan özelliklere yenileri eklenebilir ya da değiştirilebilir.

C# - Encapsulation (Kapsülleme) Tekniği

Kapsülleme, sınıf içindeki değişkenlere erişimi kaldırmak ya da kısıtlamak için kullanılır. Önemli bir değişkeni public olarak tanımlamak, değişkene yazılımcı tarafından -bilinçli ya da bilinçsiz- müdahaleye açık hale getirir. Bu da sınıf içindeki metotların çalışmasını olumsuz etkileyebilir. Bu gibi durumların önüne geçmek için kapsülleme tekniği kullanılır.