Felicitări

Introducere în Programarea Orientată pe Obiecte în Python

George Boorman

Curriculum Manager, DataCamp

Clase și obiecte

Termen Definiție
Clasă Un plan/șablon folosit pentru a crea obiecte
Obiect O combinație de date și funcționalitate; O instanță a unei clase
Introducere în Programarea Orientată pe Obiecte în Python

Atribute și metode

Termen Definiție
Clasă Un plan/șablon folosit pentru a crea obiecte
Obiect O combinație de date și funcționalitate; O instanță a unei clase
Stare Date asociate unui obiect, atribuite prin atribute
Comportament Funcționalitatea unui obiect, definită prin metode
Introducere în Programarea Orientată pe Obiecte în Python

Concepte de bază

Încapsulare:

  • Gruparea datelor și metodelor

Moștenire:

  • Extinderea funcționalității codului existent

Polimorfism:

  • Crearea unei interfețe unificate
Introducere în Programarea Orientată pe Obiecte în Python

Comparații

Operator Metodă
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Introducere în Programarea Orientată pe Obiecte în Python

Reprezentare ca șir de caractere

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • informal, pentru utilizatorul final
  • reprezentare de tip string

__repr__()

  • repr(obj), afișare în consolă
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • formal, pentru dezvoltator
  • reprezentare reproductibilă
  • alternativă pentru print()
Introducere în Programarea Orientată pe Obiecte în Python

Gestionarea erorilor

class BalanceError(Exception): 
    pass

class Customer: def __init__(self, name, balance): if balance < 0 : raise BalanceError("Balance has to be non-negative!") else: self.name, self.balance = name, balance
# Use try-except to catch errors try: cust = Customer("Larry Torres", -100) except BalanceError: cust = Customer("Larry Torres", 0)
Introducere în Programarea Orientată pe Obiecte în Python

Ce urmează?

  • Moștenire multiplă
  • Descriptori
  • Atribute personalizate
  • Iteratori personalizați
  • Adnotări de tip
  • Clase de bază abstracte
Introducere în Programarea Orientată pe Obiecte în Python

Să exersăm!

Introducere în Programarea Orientată pe Obiecte în Python

Preparing Video For Download...