Python 3
Machine Learning

PENTRU ELEVII DE LICEU

LECȚIA 18
PAG. 2 / 4
OOP - Moștenirea
Acasă >>> Lecții online

Exemplu de implementare

Să presupunem că vrem să modelăm o persoană generică, cu un nume și o vârstă. Din acest tip general derivăm o subclasă Student, care are în plus un atribut universitate și o metodă care oferă un rezumat academic:
Editor - exemplu_oop.py
       
Rezultatul în consolă done
Clasa Student nu definește niciun constructor propriu și nici metode suplimentare, dar poate fi folosită exact ca și clasa părinte. De ce? Pentru că moștenește totul de la Persoana. Este ca și cum ar avea o copie a metodei saluta() și a constructorului __init__() în propria structură.

Extinderea comportamentului

Folosind exact același exemplu cu Persoana și Student, putem adăuga în clasa Student o metodă proprie, care nu există în clasa părinte:

class Student(Persoana):
    def studiaza(self):
        print(f"{self.nume} studiază pentru examen.")


Apoi, putem utiliza codul următor:

s = Student("Andreea", 20)
s.saluta() # Metodă moștenită
s.studiaza() # Metodă proprie clasei Student


Testați și voi modificările de mai sus în editorul de cod. Rezultatul în consolă este acesta:



Evident, dacă am crea un obiect de tip Persoana, acesta nu ar avea acces la metoda studiaza(), pentru că nu o moștenește.
Avansează la pagina următoare.
 home   list  LECȚII   perm_identity   arrow_upward