OOP - Inheritance Türleri

Inheritance işlemi ile bir nesnenin özelliklerinin farklı nesneler tarafından kullanılabilmesini sağlanır.

Inheritance miras verme şekillerine göre farklı türlere sahiptir.

  1. Single Inheritance
  2. Multilevel Inheritance
  3. Hierarchical Inheritance
  4. Hybrid Inheritance
  5. Multiple Inheritance
Not: Hybrid ve Multiple Inheritance, C# dilinde yalnızca interfaceler yoluyla miras alma işlemi yapılabilir. 

  1. Single Inheritance
Bir sınıfın yalnızca tek bir sınıftan miras alması işlemdir. Buna göre ana elementler bir adet base(ana) sınıf ve bir adet sub (alt) sınıftan oluşur.

        

        2. Multilevel Inheritance

Bir sınıfın türetilmiş başka bir sınıftan miras alma işlemidir. Bir adet ana sınıfın alt sınıfa miras vermesinden sonra; alt sınıfın da kendisinden alt sınıfa miras vermesiyle ana sınıf olabildiği kalıtım türüdür. Birden fazla seviyeli kalıtım alma türüdür.


                                             

          3. Hierarchical Inheritance 

Bir ana sınıfın altında birden fazla alt sınıfa miras verebildiği kalıtım türüdür.  Buna göre ana elementler bir adet base(ana) sınıf ve birden fazla sub (alt) sınıftan oluşur.

                                                              

          4. Hybrid Inheritance

Bu kalıtım türü single ve multiple kalıtımın birleşiminden oluşur. C#, bu kalıtım türünü sınıflar yoluyla desteklememektedir. Bunun nedeni bir sınıfın yalnızca tek bir sınıftan kalıtım alabilmesini garanti altına almasıdır. C#, interface ile bu işlemi yapabilmektedir. Bir sınıf, birden fazla interface'den miras alabildiği için bu kalıtım türü uygulanabilir.

                                             

            5. Multiple Inheritance

Bir sınıfın, birden fazla ana sınıfı olabilir. Bir başka deyişle bir sınıf birden fazla sınıftan miras alabilir. Hybrid Inheritance'daki gibi C# dilinde bu kalıtım desteklenmemektedir ve interface ile bu işlem yapılabilir.

                                             



Yorumlar