Inheritance və ya Miras Alma, Obyekt Yönümlü Proqramlaşdırmanın (OOP) əsas prinsiplərindən biridir. Miras Alma proqramlaşdırmada bir sinifin (class) başqa bir sinifin xüsusiyyətlərini (atributlarını) və metodlarını (funksiyalarını) özündə miras alması prosesidir. Bu, kodu daha təkrar istifadə oluna bilən, modul, təşkilatlanmış və səmərəli edir.
Miras Almanın əsas məqsədi:
- Mövcud kodu təkrar yazmadan yeni siniflər yaratmaq.
- Ümumi davranışları bir əsas (parent/base) sinifdə toplamaq və ehtiyac olduqda dəyişikliklər əlavə etmək.
- Proqramların daha asan inkişaf etdirilməsi və saxlanılması.
Əsas terminlər:
- Base Class (Əsas Sinif / Parent Class): Xüsusiyyətlərini və metodlarını miras verən sinif.
- Derived Class (Törəmə Sinif / Child Class): Əsas sinifdən miras alan və lazım gələrsə, əlavə və ya dəyişdirilmiş metod və xüsusiyyətlərə malik olan sinif.
Python-da sadə miras alma nümunəsi:
# Əsas sinif
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
print(f"{self.name} səs çıxarır.")
# Törəmə sinif
class Dog(Animal):
def speak(self):
print(f"{self.name} hürür.")
# Obyektlərin yaradılması
animal = Animal("Heyvan")
animal.speak() # Çıxış: Heyvan səs çıxarır.
dog = Dog("Rex")
dog.speak() # Çıxış: Rex hürür.
Burada:
- Animal əsas sinifdir.
- Dog isə Animal sinifindən miras alır və speak metodunu özünəməxsus şəkildə dəyişir (override edir).
Miras Almanın növləri:
- Single Inheritance (Tək Miras Alma): Bir sinif yalnız bir başqa sinifdən miras alır.
- Multiple Inheritance (Çoxlu Miras Alma): Bir sinif bir neçə sinifdən eyni anda miras ala bilər.
- Multilevel Inheritance (Çoxsəviyyəli Miras Alma): Bir sinif digər sinifdən, o da başqa bir sinifdən miras alır.
- Hierarchical Inheritance (Hierarxik Miras Alma): Bir əsas sinifdən bir neçə törəmə sinif miras alır.
- Hybrid Inheritance (Hibrid Miras Alma): Bir neçə miras alma növünün birləşməsi.
Miras Almanın üstünlükləri:
- Kod təkrarı azaldır.
- Kodun idarə olunmasını asanlaşdırır.
- Funksionallığın təkmilləşdirilməsi və genişləndirilməsi imkanlarını artırır.
- Əsas davranışlar bütün törəmə siniflərdə standart olur.