C# Kalıtlama (Inheritance) nedir?

C# Kalıtlama (Inheritance) nedir?

C # 'da miras, mevcut bir sınıftan yeni bir sınıf oluşturmamızı sağlar. Nesneye Yönelik Programlama ( OOP ) 'in önemli bir özelliğidir.

Yeni bir sınıfın oluşturulduğu sınıf, ( ana sınıfı veya üst sınıf ) temel sınıfı olarak bilinir. Ve yeni sınıf türetilmiş sınıf ( çocuk veya alt sınıf ) olarak adlandırılır

Türetilmiş sınıf, temel sınıfın alanlarını ve yöntemlerini devralır. Bu, C # 'daki kodun yeniden kullanılabilirliğine yardımcı olur.

C # 'da kalıtım nasıl yapılır ?

C # 'da kalıtımı gerçekleştirmek için : sembolünü kullanırız. Örneğin,

class Animal {  
  // fields and methods
} 

// Dog inherits from Animal
class Dog : Animal {
  // fields and methods of Animal 
  // fields and methods of Dog 
}


Burada türetilmiş 
 Dog sınıfı Animal temel sınıfından miras alıyoruz. Dogsınıfı artık Animalsınıfının alanlarına ve yöntemlerine erşiebilir.

C # Miras
C # Miras


Örnek: C # Kalıtım


using System;

namespace Inheritance {

  // base class
  class Animal { 

    public string name;

    public void display() {
      Console.WriteLine("I am an animal");
    }
    
  } 
  
// derived class of Animal class Dog : Animal {
public void getName() { Console.WriteLine("My name is " + name); } } class Program { static void Main(string[] args) { // object of derived class Dog labrador = new Dog();
// access field and method of base class labrador.name = "Rohu"; labrador.display();
// access method from own class labrador.getName(); Console.ReadLine(); } } }

çıktı

Ben bir hayvanım
Benim adım Rohu

Yukarıdaki örnekte,  Animal üst sınıfından bir Dog alt sınıf türettik.

labrador.name = "Rohu";

labrador.getName();

Burada kullanıyoruz labrador( Köpek nesnesi ) name ve display ( ) Animalsınıf. Bu mümkündür çünkü türetilmiş sınıf, temel sınıfın tüm alanlarını ve yöntemlerini miras alır.

 Ayrıca Dog  sınıfının method içerisinden name alanına eriştik.

Kalıtım ilişkisi

C # 'da miras bir ilişkidir. Kalıtım sadece iki sınıf arasında bir ilişki varsa kullanırız.
 Örneğin,

  • Köpek bir Hayvan
  • Elma bir Meyve
  • Araba bir Araç

Köpeği Hayvan sınıfından türetebiliriz. Benzer şekilde, Elmayı Meyve sınıfından ve Arabayı Araç sınıfından türetebiliriz.

Köpeği, Hayvan sınıfından türetebilirizç Benzer şekilde, Elmayı Meyve sınıfından ve Arabayı, Araç sınıfından türetebiliriz.


C # Mirasta Korunan Üyeler

Bir alanı veya yöntemi şu şekilde beyan ettiğimizde protected, yalnızca aynı sınıftan ve türetilmiş sınıflarından erişilebilir.

Örnek: Mirasta Korunan Üyeler

using System;

namespace Inheritance {

  // base class
  class Animal { 
protected void eat() { Console.WriteLine("I can eat"); }
} // derived class of Animal class Dog : Animal { static void Main(string[] args) { Dog labrador = new Dog();
// access protected method from base class labrador.eat();
Console.ReadLine(); } } }

çıktı

yiyebilirim

Yukarıdaki örnekte, Animal adlı bir sınıf oluşturduk.  Sınıf korumalı bir ( ) eat yöntemi içerir

 Animal sınıfından Dog sınıfını ürettik . İfadeye dikkat edin,

labrador.eat();

Korumalı metoda türetilmiş sınıflardan erişilebildiği için,( ) eat metoduna Dogsınıfınıdan erişebiliyoruz.

Kalıtım türleri

1. Tek Kalıtım

Tek bir kalıtımda, tek bir türetilmiş sınıf, tek bir temel sınıftan miras alır.

C # Tek Miras
C # Tek Miras

2. Çok Düzeyli Kalıtım

Çok düzeyli kalıtımda, türetilmiş bir sınıf bir tabandan miras alır ve daha sonra aynı türetilmiş sınıf, başka bir sınıf için bir temel sınıf görevi görür.

C # Çok Seviyeli Miras
C # Çok Seviyeli Miras

3. Hiyerarşik Kalıtım

Hiyerarşik kalıtımda, birden çok türetilmiş sınıf, tek bir temel sınıftan miras alır.

C # Hiyerarşik Miras
C # Hiyerarşik Miras

4. Çoklu Kalıtım

Birden fazla kalıtımda, tek bir türetilmiş sınıf, birden çok temel sınıftan miras alır. 
C # çoklu kalıtımı desteklemez. Ancak, arayüzler aracılığıyla çoklu kalıtım elde edebiliriz.

Çoklu Miras
Çoklu Miras

5. Hibrit Kalıtım

Hibrit kalıtım, iki veya daha fazla kalıtım türünün birleşimidir. Çok düzeyli ve hiyerarşik kalıtımın birleşimi, Hibrit kalıtımın bir örneğidir.

C # Hibrit Miras
C # Hibrit Miras

Kaynak: www.programiz.com

Yorum Gönder

0Yorumlar
Yorum Gönder (0)