Sobes.tech
Intern

Šta je nasleđivanje u programiranju i čemu služi?

sobes.tech АИ

Одговор од АИ

Nasleđivanje je mehanizam objektno-orijentisanog programiranja (OOP) koji omogućava jednoj klasi (potomak, izvedena) da nasleđuje svojstva (atribute) i ponašanje (metode) od druge klase (roditeljske, osnovne).

Koristi se za:

  • Ponovnu upotrebu koda: Metode i atributi osnovne klase dostupni su u izvedenoj klasi, čime se izbegava dupliranje koda.
  • Kreiranje hijerarhija klasa: Omogućava modelovanje odnosa "je" (is-a) između objekata. Na primer, Pas je Životinja.
  • Proširenje funkcionalnosti: Izvedena klasa može dodavati svoje atribute i metode ili prepisivati (menjati) ponašanje nasledjeno.
  • Polimorfizam: Zajedno sa dinamičkim dispatch-om, nasleđivanje omogućava obradu objekata različitih tipova, pozivajući se na njihovu osnovnu klasu.

Primer u Pythonu:

class Životinja:
    # Osnovna klasa
    def __init__(self, ime):
        self.ime = ime

    def pravi_glas(self):
        pass # Prazna metoda, biće prepisana u izvedenim klasama

class Pas(Životinja):
    # Izvedena klasa
    def __init__(self, ime, rasa):
        super().__init__(ime) # Poziv konstruktora osnovne klase
        self.rasa = rasa

    def pravi_glas(self):
        # Prepisivanje metode
        print("Vau!")

# Upotreba
moj_pas = Pas("Бобик", "Ovčar")
print(moj_pas.ime) # Nasleđeni atribut
moj_pas.pravi_glas() # Prepisana metoda