C# OOP - Inheritance(Kalıtım) - Temel Anlatım

C# OOP – Inheritance(Kalıtım) – Temel Anlatım

C# dilinde kalıtım işlemi için iki nokta üst üste yani (:) kullanıyoruz. Örnek: public class ClassAdi:BabaClassAdi{ // şeklinde }

Kalıtım kullanılan küçük sınıf, baba sınıfın public, protected erişim belirleyicili field ve metotlarına new ile nesne üretmeden erişebilir. Örnek kodumuz:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;  namespace WPFCSharp.D1 {     class Program     {         static int para;         int para2;         //Global değişkenler.          static void Main(string[] args)         {             // Konsol projesinde main methodumuz static olduğundan bu metoda çağrılan değişken ve methodlar static olmak zorundadır. Aksi halde o değişkenleri vs. kullanamayız ve hata alırız.             //static değişken ve metotlar ramde direkt oluşturulur.             para = 50;             //para2 static olmadığı için kullanamıyoruz.              BankAccount ba = new BankAccount();             Console.WriteLine(ba.AddToBalance(15));                           Console.WriteLine(SimpleMath.Add(15.5, 10)); //SimpleMath classı içinde static method olduğundan new ile örneklemeye gerek yoktur.              ChildBankAccount childBankAccount = new ChildBankAccount();             childBankAccount.AddToBalance(20);             Console.WriteLine(childBankAccount.Balance);             //Balance değeri ChildBankAccount classının constractorında 10 olarak verildiğinden AddToBalance metodunda da +=gelen değer şeklinde kullanıldığından ekrana 30 yazacaktır.              Console.ReadLine();         }     }      class SimpleMath     {         public static double Add(double sayi1, double sayi2)         {             return sayi1 + sayi2;         }     }      class BankAccount     {         private double balance; // değişken          public double Balance //property         {             get             {                 if(balance<1000000) //kontrol et                 return balance; //çağrılan değer için balance değişkeninin değerini gönder                  return 1000000;             }             protected set             {                 if(value >0) //bu şekilde dışarıdan gelen atamaların kontrolünü sağlayabiliriz...                 balance = value;//dışarıdan gelen değeri balance değişkenine ata.              }         }           public double AddToBalance(double balanceToBeAdded)         {             balance += balanceToBeAdded;             return balance;         }     }      class ChildBankAccount : BankAccount     {         public ChildBankAccount()         {             Balance = 10; // set kısmını protected yaptık. inheritance kullandığımızda bu erişim tipi ile set, get yapabilir değişkenlere ve metotlara erişebiliriz.          }      } } 

Inheritance kısmına odaklanalım:

class ChildBankAccount : BankAccount     {         public ChildBankAccount()         {             Balance = 10; // set kısmını protected yaptık. inheritance kullandığımızda bu erişim tipi ile set, get yapabilir değişkenlere ve metotlara erişebiliriz.          }      } }

Veri ataması yapılan Balance Propertyi inceleyelim:

public double Balance //property         {             get             {                 if(balance<1000000) //kontrol et                 return balance; //çağrılan değer için balance değişkeninin değerini gönder                  return 1000000;             }             protected set             {                 if(value >0) //bu şekilde dışarıdan gelen atamaların kontrolünü sağlayabiliriz...                 balance = value;//dışarıdan gelen değeri balance değişkenine ata.              }         }
C# OOP - Inheritance(Kalıtım) - Temel Anlatım
Şemayla Açıklayacak olursak; babaya ait araba var, para var… Bunu çocukları alıp kullanabiliyor başkası kullanamıyor :))

Yayımlandı

kategorisi

yazarı:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir