13. Sınıflar (Classes)

1.SEALED CLASS KAVRAMI

Sealed class alt sınıflar tarafından kalıtımı alınamayan classtır. Yani class için bir nevi koruma bir nevi güvence anlamına gelir. Aşağıdaki senaryoda Silah , Tabanca ve Taramalı classlarımız var. Tabanca ve Taramalı classlarımız Silah classından türemiş. Daha sonra AK-47 adında bir class yaratılmış ve bu classın yaratıcısı yani AK-47nin yaratıcısı silah prototipini Taramalı classından almak istemiş ancak taramalı classı sealed olduğu için AK-47nin tasarımcısı bu tasarımı taramalı classı üzerine kuramamıştır.

 class Program 
 {   
     static void Main(string[] args)  
      { 
          Console.ReadKey();
      } 
  }
  class Silah 
  {  
     public Silah() 
     { }  
     string model;  
     int yil; 
  } 
  class Tabanca : Silah 
  {  
     public Tabanca() 
     { }  
     int mermiSayisi; 
     string rengi;  

    public void AtesEt() 
    { 
      Console.WriteLine("Ates etti");  
    } 
  }

  sealed class Taramali : Silah  //Kalıtımı alınamayan class 
  {  
     public Taramali() 
     { } 
 
     int sarjörSayisi;
  
     public void AtesEt()  {  }  
     
     public void SarjörDoldur()  {  } 
  } 
  class Ak47 : Taramali 
  { 
    // Taramali silah1 = new Taramali(); üzerinden özelliklere ulaşabilirsiniz.  
      int atisHizi; 
      int HasarGücü;  
 
      public void DürbünTak()  { }  
   } 

2.PARTIAL CLASS KAVRAMI

Bir classın parçalarının fiziksel olarak başka classlarda tutulması ve nesne tarafından yapılan çağırımlarda bir bütün olarak özelliklere ulaşılmasını sağlayan yapı.

Partial classlar

–   Aynı namespace’in altında olmalılar.
–   Aynı isimli olmalılar.

 class Program
 {
   static void Main(string[] args)
   {

      Product p = new Product();

      int x = p.Id;
      string name = p.Name;

      Console.ReadKey();
   }
 }

 partial class Product
 {
    public int Id { get; set; }
 }
 partial class Product
 {
    public string Name { get; set; }
 }