Sobes.tech
Intern

Ce este moștenirea în programare și pentru ce se folosește?

sobes.tech AI

Răspuns de la AI

Moștenirea este un mecanism al programării orientate pe obiecte (OOP) care permite unei clase (clasa derivată, subclasa) să moștenească proprietăți (atribute) și comportamente (metode) de la o altă clasă (clasa părinte, de bază).

Utilizare pentru:

  • Reutilizarea codului: Metodele și atributele clasei de bază sunt disponibile în clasa derivată, evitând duplicarea codului.
  • Crearea ierarhiilor de clase: Permite modelarea relațiilor "este un" (is-a) între obiecte. De exemplu, Câine este Animal.
  • Extinderea funcționalității: Clasa derivată poate adăuga propriile atribute și metode sau poate suprascrie (modifica) comportamentul moștenit.
  • Polimorfism: Împreună cu dispatch-ul dinamic, moștenirea permite tratarea obiectelor de diferite tipuri, referindu-se la clasa lor de bază.

Exemplu în Python:

class Animal:
    # Clasă de bază
    def __init__(self, nume):
        self.nume = nume

    def face_sunet(self):
        pass # Metodă goală, va fi suprascrisă în clasele derivate

class Caine(Animal):
    # Clasă derivată
    def __init__(self, nume, ras):
        super().__init__(nume) # Apelarea constructorului clasei de bază
        self.ras = ras

    def face_sunet(self):
        # Suprascrierea metodei
        print("Hau!")

# Utilizare
cățelul_meu = Caine("Бобик", "Ciobănesc")
print(cățelul_meu.nume) # Atribut moștenit
cățelul_meu.face_sunet() # Metodă suprascrisă